我有一组庞大且不断增长的文本文件,它们都非常小(小于 100 字节)。我想比较每对可能的文件并注意哪些是重复的。我可以编写一个 Python 脚本来执行此操作,但我想知道是否有现有的 Linux 命令行工具(或者可能是简单的工具组合)可以执行此操作?
更新(回应姆芬尼评论):这些文件都在同一个目录中,因此它们都有不同的文件名。(但它们都有共同的文件扩展名,因此可以使用通配符轻松选择它们。)
答案1
这是重复项但我通常使用find . -type f -exec md5sum '{}' \; | sort | uniq -d -w 36
答案2
嗯,还有 FSlint —— 在这个特殊情况下我还没有用过它,但我应该能够处理它: http://en.flossmanuals.net/FSlint/Introduction
答案3
您几乎肯定不想对每对文件进行差异比较。您可能希望使用 md5sums 之类的工具来获取所有文件的所有校验和,并将其导入到其他仅报告重复校验和的工具中。
答案4
我看到 fdupes 和 fslint 被提及为答案。jdupes 基于 fdupes,并且比任何一个都快得多,fdupes 此时应该被视为已被弃用。