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

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

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

7

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

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

1
L'équivalent Windows 7z x -so my_file.zip 2> NULne fonctionne pas: redirige également les données vers null.
— ansgri
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.