7zip: comment extraire en sortie std?

28

J'ai 7z 4.65 et j'essaye d'extraire un seul fichier vers la sortie standard. L'aide de la ligne de commande 7z dit que -soc'est le paramètre de ligne de commande à extraire vers la sortie standard, mais quand j'essaye ceci:

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

Comment puis-je réparer cela? Il ne semble pas y avoir de paramètre de ligne de commande pour supprimer les messages stdout 7z normaux.

(edit: l'opération équivalente dans "décompresser" serait

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

qui fonctionne bien. Mais j'aimerais utiliser 7z pour diverses raisons.)

Jason S
la source

Réponses:

17

le diriger vers un autre programme tel que

  • tee
  • Moins
  • plus

Je pense que cela teese rapproche le plus de ce que vous voulez, il laisse tomber le 7z et vous donne juste le contenu.

% 7z e -so dist\dlogpkg.jar META-INF/MANIFEST.MF | tee
akira
la source
Y a-t-il une raison particulière pour laquelle vous pensez que teec'est mieux dans cette situation que less?
Andy
Impair. "moins" et "tee" font ce que j'attends, mais "plus" laisse dans les trucs 7z .... bizarre! pourquoi fait-il ça?
Jason S
@Andy: "tee" fait encore moins que "less" .. pas de défilement en arrière, etc. il laisse simplement passer les octets et rien de plus.
akira
@akira peut-être qu'il voulait diriger la sortie vers un autre programme
beppe9000
@Andy: pourquoi OP voulait diriger vers la sortie standard n'a jamais été une question.
akira
8

Sous Windows, 7z x -so my_file.zip 2> NULcela ne fonctionne pas, mais la redirection vers un vrai fichier aide:

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

J'essayais également de comprendre cela. Cela m'a donné ce que je voulais:

7z x -so my_file.zip 2> /dev/null
Jeremy Miller
la source
1
L'équivalent Windows 7z x -so my_file.zip 2> NULne fonctionne pas: redirige également les données vers null.
ansgri