Linux上两个.tar.gz文件列表的区别

27

有两个不同的.tar.gz文件:第二个.tar.gz是第一个.tar.gz的子集。

我需要一条单行命令来查找第二个.tar.gz中缺失的文件。

例如:

1.tar.gz文件列表:

1.jsp
2.txt
3.htm

2.tar.gz文件列表:

1.jsp
3.htm

输出结果应为:

2.txt
1个回答

45

只需列出内容并执行diff

diff <(tar -tvf 1.tar.gz | sort) <(tar -tvf 2.tar.gz | sort)

在bash中,我使用tar -tvf 1.tar.gz命令时出现了“invalid tar magic”的错误。但是当我使用tar -tzvf 1.tar.gz命令时,它可以正常工作。 - FlexMcMurphy
@FlexMcMurphy 看来你的tar程序不支持所有功能。它是一个busybox吗?因为它已知缺少此功能 - P.P
1
这就是它的确切含义!我正在OpenWrt上使用Busybox。我很高兴我想出了如何修改您的命令以适应我更有限的环境。 - FlexMcMurphy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接