7zip: come estrarre in output std?


28

Ho 7z 4.65 e sto cercando di estrarre un singolo file nell'output standard. La guida della riga di comando 7z dice che -soè il parametro della riga di comando da estrarre nell'output standard, ma quando provo questo:

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

come posso risolvere questo? Non sembra esserci un parametro della riga di comando per sopprimere i normali messaggi stdout 7z.

(modifica: l'operazione equivalente in "decomprimere" sarebbe

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

che funziona benissimo. Ma mi piacerebbe usare 7z per vari motivi.)

Risposte:


17

reindirizzalo a un altro programma come

  • tee
  • Di meno
  • Di Più

penso che teesi avvicini di più a quello che vuoi, lascia cadere le cose 7z e ti dà solo il contenuto.

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

C'è qualche motivo in particolare perché pensi che teesia meglio in questa situazione rispetto a less?
Andy,

Dispari. "less" e "tee" fanno quello che mi aspetto, ma "more" lascia nella roba 7z .... bizzarro! Perché fa questo?
Jason S,

@Andy: "tee" fa anche meno di "meno" .. nessun scorrimento indietro ecc. Lascia passare i byte e non di più.
Akira,

@akira forse voleva reindirizzare l'output a un altro programma
beppe9000,

@Andy: perché OP ha voluto convogliare stdout non è mai stata una domanda.
Akira,

8

Su Windows, 7z x -so my_file.zip 2> NULnon funziona, ma il reindirizzamento a un file reale aiuta:

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

7

Stavo anche cercando di capirlo. Questo mi ha ottenuto quello che volevo:

7z x -so my_file.zip 2> /dev/null

1
L'equivalente di Windows 7z x -so my_file.zip 2> NULnon funziona: in qualche modo reindirizza i dati su null.
Ansgri,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.