tar 文件中的哈希文件

Ste*_*sku 4 tar

我有两个*.tar内容相似的文件。我想验证哪些文件是相同的。很多文件都很大,所以我比较哈希需要从每个 tar 中提取每个文件并计算哈希。有没有办法在 tar 中散列文件而不必提取它?有没有另一种方法来比较两个*.tar文件中的文件?

小智 6

如果是 GNU tar,请运行:

tar -xf file1.tar --to-command=file-stats-from-tar
Run Code Online (Sandbox Code Playgroud)

其中 file-stats-from-tar 位于某处$PATH并且是:

#!/bin/bash

md5=`md5sum`;
md5=${md5%% *}

printf "%s\t%s\n" $md5 "$TAR_FILENAME"
Run Code Online (Sandbox Code Playgroud)

md5sum如果需要,请更改。

这在一次通过中完成。

它的工作原理是该--to-command选项告诉 tar 将每个文件分别发送到您指定的命令,并设置一堆环境变量(我们仅TAR_FILENAME在此处使用)。