无需解压即可读取 zip 文件中的文件内容?

Ido*_*now 7 linux zip

给定一个 zip 文件zipfile.zip,我们知道它包含一个名为text.txt.

text.txt有没有办法在不解压的情况下读取内容zipfile.zip

Edu*_*ani 13

例如,您可以将文件直接转储到标准输出。从技术上讲,您仍然在解压缩它,但不是解压缩到磁盘:

$ unzip -p zipfile.zip text.txt
Run Code Online (Sandbox Code Playgroud)

例如,要计算行数,您可以这样做:

$ unzip -p zipfile.zip text.txt | wc -l
Run Code Online (Sandbox Code Playgroud)

-c选项类似,但会在内容之前写入每个提取文件的名称。

  • @Idonknow 您可以从多文件 zip 存档中解压缩*一个*文件。 (5认同)

Sté*_*las 6

libarchivebsdtar支持多种存档格式,包括 infozip / pkzip 格式,因此您可以对所有这些格式使用相同的 CLI:

bsdtar xOf zipfile.zip text.txt
Run Code Online (Sandbox Code Playgroud)

转储标准输出上指定的存档成员的内容text.txt。添加q在第一个处停止的选项(实际上,存档中给定路径通常只有一个条目)。

tar您可以对、tgzisoarcpio7z文件等执行相同的操作。