Aufblasen UND Extrahieren einer .tar.bz2 mit dem 7-Zip-Befehlszeilen-Tool


7

Ich habe eine .tar.bz2-Datei, die ich über das 7-zip-Befehlszeilentool dekomprimieren und extrahieren möchte.

Also suche ich im Grunde das Äquivalent von

tar -xjf foo.tar.bz2

Bei 7-Zip gibt es nur die Option "x" zum Extrahieren

7z x foo.tar.bz2

gibt mir die aufgeblasene Datei foo.tar, anstatt alle Verzeichnisse im Teer zu entpacken. Was ist die entsprechende Option für 7z?


Können Sie den Grund hinzufügen, warum Sie dies über 7-Zip tun möchten, wenn Teer eleganter damit umgehen kann?
Bagavadhar

Antworten:


3

Bei 7zip müssen Sie den Befehl zweimal ausführen, einmal zum Dekomprimieren und erneut zum Extrahieren. Das tar-Dateiformat ist nur ein "Wad" von allem, was Ende an Ende steckt. Anschließend wird die gesamte TAR-Datei mithilfe verschiedener Komprimierungsalgorithmen komprimiert, in Ihrem Beispiel bzip. Grundsätzlich hat die resultierende Datei zwei Ebenen. Wenn Sie die bzip-Ebene "extrahieren", erhalten Sie eine TAR-Datei. Wenn Sie die TAR-Datei extrahieren, erhalten Sie eine Reihe einzelner Dateien.

7zip verarbeitet nicht mehrere Ebenen gleichzeitig, obwohl beide Ebenen verarbeitet werden können:

7z x foo.tar.bz2
7z x foo.tar

Tatsächlich funktionieren die Standard-Unix-Tools genauso:

bunzip2 foo.tar.bz2
tar xf foo.tar

Der Unix- tarBefehl verfügt jedoch über praktische Funktionen, die die sekundären Komprimierungs- und Dekomprimierungsschritte mit einem anderen Programm aufrufen, bevor / nachdem der Tar-Teil verarbeitet wird. Grundsätzlich -jruft das Argument bzip2/ auf bunzip2, Sie sehen den zweiten Schritt einfach nicht. Ebenso -zwird gzip/ gunzipusw. anrufen .


3

Während Sie dies nicht in einem Befehl tun können, können Sie eine Shell-Pipeline verwenden, um zwei 7z-Befehle wie folgt in einer Befehlszeile zu verketten:

7z e -so .\Downloads\enron_mongo.tar.bz2 | 7z e -si -ttar

2

Wie wäre es mit einer kürzeren Version der Kombination aus 7z und Teer mit Standardausgang und Rohren?

# 7z x -so my-compressed-tarball.tar.bz2| tar xf -

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.