如何删除两个文件夹中的重复文件?

如何删除两个文件夹中的重复文件?

我刚刚开始熟悉 Linux 终端,但仍然会犯错误:

我最近错误地将一个目录中包含的所有文件(包括所有子目录)复制到了另一个目录中。

有没有简单的方法来识别原始文件夹(包括子目录)中包含的所有文件并从另一个目录中删除每个文件?例如:文件夹 /source 包含文件 file1 和 file2 而子目录 /source/sub 包含文件 file3 和 file4。

文件夹 /destination 包含文件 file1、file2、file3、file4、file5 和 file6。

我如何解析 /source 及其子目录中的文件并仅从 /destination 中删除这些文件,以便 /destination 仅包含 file5 和 file6?

非常感谢。

答案1

您可以手动浏览每个文件,从列表中读取(可能是从 ls -lR source或输出find source -type f)并从目标文件夹中删除重复项......

或者使用findmd5sum检查真正相同的文件(而不仅仅是名称相似的文件),比较md5sum每个文件夹的排序输出,查找重复的行,并从一个文件夹中删除有问题的重复文件。

或者(可能最好的)你可以使用重复文件查找程序,例如fdupes或者语法,它们都可以找到重复文件,其中一个甚至有一个很好的 GUI。只需确保将它们仅指向您想要的“源”和“目标”文件夹即可。

请参阅其他问题以获取一些选项(将“移动到其他地方”更改为“删除”):

相关内容