我有一个关于unzip
Unix 中命令的问题。到目前为止,我的 Unix 命令unzip -p -a
能够压缩较小的文件。但如果文件大小较大,则该命令无法解压缩它。
考虑文件名是file1.zip
,当我给出unzip -p -a
并且命令执行时,它会在 Unix 框中显示文件的内容。
我想知道相同的7z
命令。 @Volker:你已经建议了,COMMANDTOUSE="/usr/bin/7z e -so -bd ..
但它不起作用。
这是定义了多少代码,
如果文件是 zip 格式,那么unzip -p -a
就会出现。是的,该命令适用于较小的文件,如果较大的文件则失败。我尝试过7z e -so -bd
但失败了。 @Volker:你能建议一个替代命令吗?感谢您迄今为止的持续帮助。
答案1
unzip -p -a
7zip的直接等效项是7z e -so -bd
.但这抱怨它不想写入标准输出(即使我明确告诉它):
$ 7z e -so -bd file.zip
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,8 CPUs)
Error:
I won't write data and program's messages to same terminal
为了使它不抱怨,您需要将其输出通过管道传输或重定向到其他地方。例如,要读取屏幕上的输出:
$ 7z e -so -bd file.zip | less
或将其保存到文件中:
$ 7z e -so -bd file.zip > file-all.txt
答案2
相应的 7zip 命令7zip x -so
会将您的存档解压到标准输出流。