7zip: ¿cómo extraer a la salida estándar?

28

Tengo 7z 4.65 y estoy tratando de extraer un solo archivo a la salida estándar. La ayuda de la línea de comandos 7z dice que -soes el parámetro de la línea de comandos para extraer a la salida estándar, pero cuando intento esto:

>>> 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

¿Cómo puedo arreglar esto? No parece haber un parámetro de línea de comando para suprimir los mensajes normales 7z stdout.

(editar: la operación equivalente en "descomprimir" sería

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

que funciona bien Pero me gustaría usar 7z por varias razones).

Jason S
fuente

Respuestas:

17

canalizarlo a otro programa como

  • tee
  • Menos
  • Más

Creo que se teeacerca más a lo que quieres, deja caer las cosas de 7z y solo te da el contenido.

% 7z e -so dist\dlogpkg.jar META-INF/MANIFEST.MF | tee
akira
fuente
¿Hay alguna razón en particular por la que crees que teees mejor en esta situación que less?
Andy
Impar. "menos" y "tee" hacen lo que espero, pero "más" sale en las cosas de 7z ... ¡extraño! ¿Por qué hace esto?
Jason S
@Andy: "tee" hace incluso menos que "less" ... sin desplazarse hacia atrás, etc. simplemente deja pasar los bytes y nada más.
akira
@akira tal vez quería canalizar la salida a otro programa
beppe9000
@Andy: por qué OP quería canalizar a stdout nunca fue una pregunta.
akira
8

En Windows, 7z x -so my_file.zip 2> NULno funciona, pero la redirección a un archivo real ayuda a:

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

También estaba tratando de resolver esto. Esto me consiguió lo que quería:

7z x -so my_file.zip 2> /dev/null
Jeremy Miller
fuente
1
El equivalente de Windows 7z x -so my_file.zip 2> NULno funciona: de alguna manera también redirige los datos a nulo.
ansgri