在Linux机器上,我说有100k二进制文件。我知道我有完全相同的文件,如何使用md5将所有重复的文件从文件夹中删除? 我尝试过使用diff + xxd没有运气
答案 0 :(得分:0)
嗨,欢迎来到StackOverflow!
您可以使用md5sum
和awk
以单线方式执行此操作:
# Execute in the same directory as your files:
md5sum * | awk '{ if (FILES[$1] != "") { print $2 " is a duplicate with " FILES[$1] } else { FILES[$1] = $2 } }'
如果要在同一步骤中删除,而不仅仅是打印文件名:
md5sum * | awk '{ if (FILES[$1] != "") { system("rm " $2) } else { FILES[$1] = $2 } }'
它的作用如下:
md5sum
的输出并将其传递给awk
44e48799743fd961ee523c1e3e3ac7cd 991.data
FILES
中是否已经有此哈希值希望这对您有帮助!