Centos
查找重複文件的最快方法是什麼?
我發現這個命令用於查找重複文件,但它很長,讓我感到困惑。
例如,如果我刪除
-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
md5sum
of found files on the-exec
actionfind
thensort
and douniq
to 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