Centos

查找重複文件的最快方法是什麼?

  • November 3, 2021

我發現這個命令用於查找重複文件,但它很長,讓我感到困惑。

例如,如果我刪除-printf "%s\n",什麼都沒有出來。那是為什麼?此外,他們為什麼使用xargs -I{} -n1?

有沒有更簡單的方法來查找重複文件?

[4a-o07-d1:root/798]#find -not -empty -type f -printf "%s\n" | sort -rn | uniq -d | xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate
0bee89b07a248e27c83fc3d5951213c1  ./test1.txt
0bee89b07a248e27c83fc3d5951213c1  ./test2.txt

你可以讓它更短:

find . ! -empty -type f -exec md5sum {} + | sort | uniq -w32 -dD

Do md5sumof found files on the -execaction findthen sortand do uniqto get the files have the same the samemd5sum由換行符分隔。

您可以使用fdupes。來自man fdupes

在給定路徑中搜尋重複文件。通過比較文件大小和 MD5 簽名,然後逐字節比較來找到此類文件。

你可以這樣稱呼它fdupes -r /path/to/dup/directory,它會列印出一個騙子列表。

更新

您也可以嘗試使用fslint。設置 fslint 後,轉到cd /usr/share/fslint/fslint && ./fslint /path/to/directory

引用自:https://unix.stackexchange.com/questions/277697