我希望你能帮助我解决以下问题。我有 24 个目录,每个目录包含许多(1000 个)文件。我想找出哪个目录组合包含最多的重复(仅按名称)文件。例如,如果我们只考虑 4 个目录
目录 1 目录 2 目录 3 目录 4
具有以下目录内容
目录1
1.fa 2.fa 3.fa 4.fa 5.fa
目录2
1.fa 10.fa 15.fa
目录3
1.fa 2.fa 3.fa
目录4
1.fa 2.fa 3.fa 5.fa 8.fa 10.fa
因此,目录 dir1 和 dir4 的组合包含最多重复的文件 (4)。
24 个目录的问题变得非常大,所以我想我可能会使用蛮力方法。类似的东西
- 计算所有 24 个目录中出现的所有重复文件
- 删除目录并计算重复文件的数量
- 替换目录并删除另一个然后计数
- 对所有目录重复
- 获取具有最大重复文件数的 23 个目录的子集
- 重复以上2-5,保留重复文件最多的22个目录
- 重复直到只剩下 2 个目录
- 选择具有最大重复文件数的目录组合
如果有人有办法做到这一点,我将非常感谢一些建议。我想过使用fdupes
或diff
但无法弄清楚如何解析输出和总结。