Linux BASH:检查目录中的文件是否重复?
我正在写一个内务脚本,在一个目录中有我想要清理的文件。 我想将文件从一个源目录移动到另一个源目录,因为有许多子目录,所以可能存在相同的文件。我想做的是,使用CMP命令或MD5sum命令对每个文件进行求和,如果它们没有重复项,则移动它们,如果它们相同,则仅移动1 因此,我让移动部件正常工作,如下所示: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 \; 我假设我必须在我的目录中循环,所以我在
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/