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.