我在目录中有数百个文件,文件名是日期,如下所示。 我如何比较不同日期的相同文件。
前:
/test/
xyz-my_S1logfile.Aug.25.gz
bhd-my_S1logfile.Aug.30.gz
ddddf-my_S2logfie.Aug.25.gz
zsed-my_S2logfie.Aug.30.gz
Compare the size of xyz-my_S1logfile.Aug.25.gz and bhd-my_S1logfile.Aug.30.gz
ddddf-my_S2logfie.Aug.25.gz and zsed-my_S2logfie.Aug.30.gz
.....
答案 0 :(得分:1)
除非我误解了您的问题,否则您希望在目录中找到包含重复内容的文件。这样做的标准方法是为每个文件的内容生成一个强哈希。例如。对于SHA256,您可以使用sha256sum
工具:
sha256sum /my/dir/* > sha256sums.txt
或更好:
find /my/dir -type f -print0 | xargs -r0 sha256sum > sha256sums.txt
考虑到尚未找到任何SHA-2变体的冲突,您可以合理地确信具有相同散列的任何文件都是相同的。然后,您可以使用sort
和uniq
查找重复的哈希值,每个哈希值都有一个出现次数:
cat sha256sums.txt | sort | cut -b -32 | uniq -cd | sort -nr
然后,您可以为相应的文件列表中的每个重复哈希值grep sha256sums.txt
文件。
或者,如果您想要自动化工具,可以尝试FsLint,supports finding duplicate files。