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

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

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

7

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

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

1
Das Windows-Äquivalent 7z x -so my_file.zip 2> NULfunktioniert nicht: Irgendwie werden auch Daten auf null umgeleitet.
Ansgri
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.