如何在Linux目录及其子文件夹中查找具有相同大小(可能重复)的文件?

时间:2016-01-14 19:06:39

标签: linux bash duplicates

我使用了rdfindfdupesfslint,并查看了以前的帖子,例如this。但是,链接的帖子中的解决方案无法帮助分散在嵌套子文件夹中的文件。 rdfindfdupesfslint运行良好,他们删除了大量重复文件,但无法找到所有这些文件。我仍然可以看到许多具有完全相同文件大小的重复文件。

所以我想问你们。有什么方法可以找到散布在文件夹的嵌套子目录中的相同文件大小的所有文件?

3 个答案:

答案 0 :(得分:6)

#prefix each filepath with the size of the file padded to 10 places
find . -type f -printf "%10s\t%p\n" | 
sort --numeric | #sort numerically (uniq needs this) 
uniq --repeated --check-chars=10 #select duplicates 

有关详细信息,请参阅相应的联机帮助页。

答案 1 :(得分:1)

如果rdfind,fdupes和fslint没有找到它们,那么它们不是重复的;它们只是恰好相同大小的文件。

答案 2 :(得分:0)

要解决您的问题(清理重复项),您可能会发现值得使用rdfind等工具。我的Debian系统说:

  

包装:rdfind
  优先级:额外
  部分:utils
  描述:查找重复文件实用程序

     
    

rdfind是一个查找重复文件和可选列表的程序,     删除它们或用符号链接或硬链接替换它们。它是一个     用C ++编写的命令行程序,已被证明是漂亮的     与其替代方案相比较快。

  
     

主页:http://rdfind.pauldreik.se/

据我了解,它通过校验和候选文件来工作。因此,如果您的潜在重复项不完全相同(例如,从不可重复的版本生成的目标文件),则不会将它们视为重复项。