列出tar文件中zip文件的内容

时间:2018-10-26 00:17:50

标签: tar unzip

我有一个tar文件。其中包含许多zip(不是gzip)文件。我想列出压缩文件的内容而不提取任何内容。

我可以执行tar tf列出文件,然后遍历它们,并对每个zip文件解压缩-l。

是否有一种优雅的(单行)方式来做到这一点?

1 个答案:

答案 0 :(得分:1)

tar 开始,您可以使用 -O 命令行选项将其写入stdout。

问题的解压缩部分旁边。 zip / unzip的标准Linux infozip版本不支持从stdin读取输入。 funzip 命令是infozip的一部分,可以从stdin读取,可以从stdin读取,但是仅支持解压缩。它没有列出内容的选项。

幸运的是,Java jar文件实际上只是结构明确的zip文件, jar 命令 可以从stdin中读取并列出输入文件的内容

因此,假设您有一个名为 my.tar 的tar文件,其中仅包含zip文件,则应在嵌入式zip文件中列出此类文件的名称

tar xOf my.tar | jar -t