7zip: Wie extrahiere ich auf Standardausgabe?

28

Ich habe 7z 4.65 und versuche, eine einzelne Datei in die Standardausgabe zu extrahieren. In der 7z-Befehlszeilenhilfe heißt -soes, dass der Befehlszeilenparameter in die Standardausgabe extrahiert werden soll, aber wenn ich dies versuche:

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

Wie kann ich das beheben? Es scheint keinen Befehlszeilenparameter zu geben, um die normalen 7z-Standardnachrichten zu unterdrücken.

(edit: die äquivalente bedienung in "entpacken" wäre

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

was gut funktioniert. Aber ich möchte 7z aus verschiedenen Gründen verwenden.)

Jason S
quelle

Antworten:

17

Pipe es zu einem anderen Programm wie

  • tee
  • Weniger
  • Mehr

Ich denke, es teekommt dem, was Sie wollen, am nächsten, es löscht das 7z-Zeug und gibt Ihnen nur den Inhalt.

% 7z e -so dist\dlogpkg.jar META-INF/MANIFEST.MF | tee
Akira
quelle
Gibt es einen besonderen Grund, warum Sie teein dieser Situation für besser halten als less?
Andy
Ungerade. "weniger" und "tee" machen das, was ich erwarte, aber "mehr" bleibt in den 7z Sachen ... bizarr! Warum macht es das?
Jason S
@Andy: "tee" macht noch weniger als "less" .. kein scrollen zurück usw. es lässt nur die bytes durch und nichts mehr.
Akira
@akira Vielleicht wollte er die Ausgabe an ein anderes Programm
leiten
@Andy: Warum OP auf stdout umleiten wollte, war nie eine Frage.
Akira
8

Funktioniert unter Windows 7z x -so my_file.zip 2> NULnicht, aber die Umleitung in eine echte Datei hilft:

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

Ich habe auch versucht, das herauszufinden. Das brachte mir was ich wollte:

7z x -so my_file.zip 2> /dev/null
Jeremy Miller
quelle
1
Das Windows-Äquivalent 7z x -so my_file.zip 2> NULfunktioniert nicht: Irgendwie werden auch Daten auf null umgeleitet.
Ansgri