我一直在使用fdupes
在文件系统中查找重复的文件,但是,我经常发现自己想要查找特定文件的重复或查找文件的重复在特定目录中。
详细说明,如果我打电话
fdupes dir1 dir2
结果将是在dir1
和dir2
中收集的文件集中找到的所有重复文件。但是,我真的很想能够做类似的事情
fdupes-alternative file dir
在file
中查找dir
的副本,而不会为dir
中的重复文件所困扰。甚至能够做到
fdupes-alternative dir1 dir2
并再次检查dir1
中是否有dir2
中的任何文件,而忽略重复项是否全部位于dir1
或dir2
中。 / p>
有没有做这种事情的工具,或者有做这种事情的简便方法?
答案 0 :(得分:0)
您可以根据兴趣内容过滤组。
假设每个文件的行的输出格式为fdupes
加上空白行来分隔各个组,如果您对文件感兴趣,请对包含文件名作为行的组进行过滤。例如,使用awk:
fdupes file dir |\
awk -v F=file '
BEGIN { FS="\n"; RS="\n\n" }
{
for (i=NF; i; i--)
if ($i==F) {
printf("%s%s", x++?RS:"", $0)
break
}
}
'
如果您对目录感兴趣,请过滤包含以该目录开头的行的组。例如,再次使用“ awk”:
fdupes dir1 dir2 |\
awk -v D=dir1/ '
BEGIN { FS="\n"; RS="\n\n" }
{
for (i=NF; i; i--)
if (index($i,D)==1) {
printf("%s%s, x++?RS:"", $0
break
}
}