如何查找/列出两个目录中的所有唯一文件?

如何查找/列出两个目录中的所有唯一文件?

有一个很棒的工具,fdupes,用于在两个(或更多)目录中查找重复的文件。

我正在寻找一个可以输出互补集(没有重复的文件的路径)的简单工具/命令。

答案1

find DIR1 DIR2 -type f -exec sha1sum '{}' \+ | sort | \
    uniq -c --check-chars 40 | egrep '^ *1 ' | cut -c 51-

答案2

杰杜佩斯在 2020 年 6 月获得了你想要的选择,可用的在 v1.17.0 或更高版本中。

试试这个(-r= 递归,-u= 仅打印与任何其他文件不匹配的文件,又名“唯一”):

jdupes -ru dir1/ dir2/

答案3

我知道这是一个 Linux 领域,但是,我在搜索 OSX 10.15 以下的答案时偶然发现了这一点。

但是,如果您是 Mac 用户,并且您的 OSX 版本低于 OSX 10.15(例如 Mojave 或更低版本),那么您可以使用 File Buddy 10。

我不知道它是否适用于 10.15。File Buddy 是我坚持使用 10.14.6 的唯一原因。不过我可能会为 10.15 和 10.14.6 制作双启动,这样我就可以继续使用它和玩一些游戏。

这个小程序有各种有用的功能。其中之一是查找您输入的任何卷或目录中的相同或唯一文件。我附上了一张图片,其中显示了部分唯一文件搜索选项:

文件好友搜索选项

答案4

我曾经在查找这些唯一文件时遇到过同样的问题,并且我不想对它们进行校验(因为它们太大而且太多),所以我根据文件名和文件大小编写了一个脚本:

isolated-files.py --source folder1 --target folder2

这将显示文件夹 2 中所有不在文件夹 1 中的文件(也是递归的)。它也可以用于 SSH 连接和多个文件夹。

https://github.com/ezzra/isolated-files

相关内容