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

标签 tar unzip

我有一个 tar 文件。它里面有许多 zip(不是 gzip)文件。我想列出 zip 文件的内容而不解压任何内容。

我可以执行 tar tf 来列出文件,然后迭代它们并对每个 zip 文件执行 unzip -l 操作。

有没有一种优雅的(单行)方法来做到这一点?

最佳答案

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

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

幸运的是,Java jar 文件实际上只是具有明确定义结构的 zip 文件,并且 jar 命令可以从标准输入读取并列出输入文件的内容

因此,假设您有一个名为 my.tar 的 tar 文件,其中仅包含 zip 文件,类似这样的内容应该列出嵌入的 zip 文件中的文件名称

tar xOf my.tar | jar -t

关于tar - 列出 tar 文件中 zip 文件的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52999766/

相关文章:

Android构建系统: How to include prebuilt files from a . tar文件?

php - 使用 PHP 创建 .tar.gz 文件

java exec 尝试解压文件

java - 在java中解压带有子文件夹的存档吗?

windows - 是否可以在 Windows XP 上使用 .BAT 命令解压缩 .ZIP 文件?

backup - 提取存储在 tar 存档中的文件的先前版本

tar - 为 ubuntu 10.04 LTS 提取 tar.xz 和 tar.lz 的 gnutls 库文件

grep - 命令行将目录(和子目录)中的所有 .docx 转换为文本文件并写入新文件

php - ZipArchive 不适用于服务器 php

javascript - 如何在javascript上解压缩文件