在 tar 文件中列出 zip 文件的内容
Listing the contents of zip files within a tar file
我有一个 tar 文件。它里面有一些 zip(不是 gzip)文件。我想列出 zip 文件的内容而不解压任何内容。
我可以 tar tf 列出文件,然后遍历它们并对每个 zip 文件执行 unzip -l。
是否有一种优雅的(单行)方式来做到这一点?
Star使用tar,你可以使用-O[=26=让它写入stdout ] 命令行选项。
旁边unzip部分的问题。 zip/unzip 的标准 Linux infozip 版本不支持从标准输入读取输入。 funzip 命令是 infozip 的一部分 can read from stdin,从 stdin 读取但它只支持解压缩。它没有列出内容的选项。
幸运的是 Java jar 文件实际上只是具有明确结构的 zip 文件,jar 命令 可以 读取来自 stdin 并列出输入文件的内容
所以,假设你有一个名为 my.tar 的 tar 文件,它只包含 zip 文件,像这样的东西应该列出文件的名称嵌入的 zip 文件
tar xOf my.tar | jar -t
您可以使用ratarmount 装载存档。这为您提供了一个文件夹视图,而无需提取任何内容。而且,它可以递归地将档案 inside archives inside archives inside archives 挂载到几乎任意深度。
pip install --user ratarmount
ratarmount --recursive tar-with-zips.tar mountpoint
find mountpoint/
我有一个 tar 文件。它里面有一些 zip(不是 gzip)文件。我想列出 zip 文件的内容而不解压任何内容。
我可以 tar tf 列出文件,然后遍历它们并对每个 zip 文件执行 unzip -l。
是否有一种优雅的(单行)方式来做到这一点?
Star使用tar,你可以使用-O[=26=让它写入stdout ] 命令行选项。
旁边unzip部分的问题。 zip/unzip 的标准 Linux infozip 版本不支持从标准输入读取输入。 funzip 命令是 infozip 的一部分 can read from stdin,从 stdin 读取但它只支持解压缩。它没有列出内容的选项。
幸运的是 Java jar 文件实际上只是具有明确结构的 zip 文件,jar 命令 可以 读取来自 stdin 并列出输入文件的内容
所以,假设你有一个名为 my.tar 的 tar 文件,它只包含 zip 文件,像这样的东西应该列出文件的名称嵌入的 zip 文件
tar xOf my.tar | jar -t
您可以使用ratarmount 装载存档。这为您提供了一个文件夹视图,而无需提取任何内容。而且,它可以递归地将档案 inside archives inside archives inside archives 挂载到几乎任意深度。
pip install --user ratarmount
ratarmount --recursive tar-with-zips.tar mountpoint
find mountpoint/