0

我在一个目录中有数百个文件,文件的名称和日期如下所示。我将如何比较不同日期的相同文件。

前任 :

/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
.....
4

1 回答 1

1

除非我误解了您的问题,否则您希望在目录中查找具有重复内容的文件。执行此操作的标准方法是为每个文件的内容生成强哈希。例如对于SHA256,您可以使用该sha256sum工具:

sha256sum /my/dir/* > sha256sums.txt

或者更好:

find /my/dir -type f -print0 | xargs -r0 sha256sum > sha256sums.txt

考虑到尚未发现任何 SHA-2 变体的冲突,您可以有理由相信具有相同哈希的任何文件都是相同的。然后,您可以使用sortuniq查找重复的哈希值,每个哈希值都有一个出现计数:

cat sha256sums.txt | sort | cut -b -32 | uniq -cd | sort -nr

然后,您可以sha256sums.txt为相应文件列表的每个重复哈希对文件进行 grep。

或者,如果您想要一个自动化工具,您可以尝试FsLint,它支持查找重复文件

于 2012-08-31T10:03:04.160 回答