![列出此 zip 文件中另一个 zip 文件的内容](https://linux22.com/image/209511/%E5%88%97%E5%87%BA%E6%AD%A4%20zip%20%E6%96%87%E4%BB%B6%E4%B8%AD%E5%8F%A6%E4%B8%80%E4%B8%AA%20zip%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%20.png)
我有一个 zip 文件。我想列出此 zip 文件中另一个 zip 文件的内容而不解压它。我怎样才能做到这一点 ?如果只是一个 zip 文件,那不会有问题。
unzip -p test.zip testfolder/README.md
答案1
由于该unzip
命令无法从标准输入读取,因此简单的方法当然是使用使用临时文件的 shell 脚本。
作为一种快速解决方法,如果您知道压缩的 ZIP 文件的名称,则可以使用-p
该命令的选项unzip
以及从其他 ZIP 程序的 STDIN 读取文件内容的功能。您的系统中很可能已经安装了 Busybox:
unzip -p outside.zip inside.zip | busybox unzip -l -
举个例子:
$ for i in {0..9} ; do touch a/$i ; done
$ for i in {a..i} ; do touch b/$i ; done
$ zip -r b.zip b
$ zip -r a.zip a b.zip
$ unzip -p a.zip b.zip | busybox unzip -l -
Archive: -
Length Date Time Name
--------- ---------- ----- ----
0 08-15-2022 08:47 b/
0 08-15-2022 08:47 b/a
0 08-15-2022 08:47 b/i
[…]