7zip:如何提取到std输出?


28

我有7z 4.65,正在尝试将单个文件提取到标准输出。7z命令行帮助说这-so是要提取到标准输出的命令行参数,但是当我尝试这样做时:

>>> 7z e -so dist\dlogpkg.jar META-INF/MANIFEST.MF

7-Zip 4.65  Copyright (c) 1999-2009 Igor Pavlov  2009-02-03
Error:
I won't write data and program's messages to same terminal

我怎样才能解决这个问题?似乎没有命令行参数可以禁止正常的7z stdout消息。

(编辑:“解压缩”中的等效操作为

unzip -p dist\dlogpkg.jar META-INF/MANIFEST.MF

效果很好。但出于各种原因,我想使用7z。)

Answers:


17

用管道将其传输到另一个程序,例如

  • 三通
  • 更多

我认为tee最接近您想要的东西,它掉落了7z的东西,只为您提供了内容。

% 7z e -so dist\dlogpkg.jar META-INF/MANIFEST.MF | tee

有什么特别的原因使您认为tee在这种情况下比这更好less
安迪2010年

奇。“更少”和“发球”可以达到我的期望,但是“更多”却留给了7z产品。为什么这样做呢?
杰森·S

@Andy:“ tee”甚至比“ less”少。.不会回滚等。它只是让字节通过而没有更多。
akira 2010年

@akira也许他想将输出传递给另一个程序
beppe9000

@Andy:为什么OP希望通过管道将其输出到stdout从来都不是问题。
akira 2015年

8

在Windows 7z x -so my_file.zip 2> NUL上不起作用,但是重定向到实际文件会有所帮助:

7z x -so my_file.zip 2> _garbage.txt

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.