Linux BASH:检查目录中的文件是否重复?

Linux BASH:检查目录中的文件是否重复?,linux,bash,scripting,duplicates,Linux,Bash,Scripting,Duplicates,我正在写一个内务脚本,在一个目录中有我想要清理的文件。 我想将文件从一个源目录移动到另一个源目录,因为有许多子目录,所以可能存在相同的文件。我想做的是,使用CMP命令或MD5sum命令对每个文件进行求和,如果它们没有重复项,则移动它们,如果它们相同,则仅移动1 因此,我让移动部件正常工作,如下所示: find /path/to/source -name "IMAGE_*.JPG" -exec mv '{}' /path/to/destination \; 我假设我必须在我的目录中循环,所以我在

我正在写一个内务脚本,在一个目录中有我想要清理的文件。 我想将文件从一个源目录移动到另一个源目录,因为有许多子目录,所以可能存在相同的文件。我想做的是,使用CMP命令或MD5sum命令对每个文件进行求和,如果它们没有重复项,则移动它们,如果它们相同,则仅移动1

因此,我让移动部件正常工作,如下所示:

find /path/to/source -name "IMAGE_*.JPG" -exec mv '{}' /path/to/destination \;
我假设我必须在我的目录中循环,所以我在想

对于/path/to/source中的文件 做 if-名称“IMAGE.*.JPG” 然后 md5sum(或cmp)$文件 …卡在这里(我担心此方法如何能够相互比较所有文件,以及如何筛选出它们)。。。 然后做mv完成

提前谢谢

find . -type f -exec md5sum {} \; | sort | uniq -d
这将吐出所有具有重复项的md5哈希。然后,只需找出哪些文件产生了这些重复的散列


这将吐出所有具有重复项的md5哈希。然后,只需找出哪些文件产生了这些重复的散列。

有一个专门为此设计的工具,它是:


有一个专门为此设计的工具,它是:


是另一个这样的工具…

是另一个这样的工具…

在macOS上复制?复制?请尝试
查找-类型f-execmd5{}\
在macOS上,尝试
查找-类型f-execmd5{}\
  fdupes -r dir/