zip 提取器从标准输入读取档案

zip 提取器从标准输入读取档案

如下来自UNZIP(1L)手册页

尚不支持从标准输入读取档案

是否有其他在 Linux/cygwin 下运行的 CLI 程序可以从 zip 档案中提取并从 stdin 读取它们?

答案1

转贴我的答案

BusyBoxunzip可以采用标准输入并提取所有文件。

wget -qO- http://downloads.wordpress.org/plugin/akismet.2.5.3.zip | busybox unzip -

后面的破折号unzip表示使用 stdin 作为输入。

你甚至可以

cat file.zip | busybox unzip -

但这只是多余的unzip file.zip

如果您的发行版默认使用 BusyBox(例如 Alpine),则只需运行unzip -

BusyBox 是可用的在 Cygwin 中。

答案2

感谢 Eir Nym 的评论,我尝试bsdtar从( )bsdtar上的包开始,并且它起作用了。LinuxUbuntu

答案3

(针对 Windows 进行了改进)如果您有 Java JDK(很大的如果!)

 get_zip_content | jar x
 # xv to list while extracting
 # optionally specify entries to extract; default is all
 # supply full /path_to_jdk/bin/jar if it's not in PATH

按照综合评分表,我给这个评分是 7/10。

相关内容