Beliebt

Wie wird die dekomprimierte Ausgabe von Archiven an die Standardausgabe gesendet? - zip, archivierung, gzip, rar, stdout

Wenn Sie ein gzip-Archiv mit gunzip dekomprimierenOhne Argumente verschwindet das Archiv, und die dekomprimierte Datei bleibt an ihrer Stelle. Wenn Sie jedoch die Option -c verwenden, bleibt das Archiv erhalten und die dekomprimierte Ausgabe wird nur an die Standardausgabe gesendet.

Meine Frage ist, kann ich dasselbe mit anderen machenArchivierungs- oder Komprimierungsdienstprogramme - zip, 7-zip, rar usw.? Das hei├čt, das urspr├╝ngliche Archiv verschwindet m├Âglicherweise nicht, wenn Sie den Inhalt dekomprimieren. Ich m├Âchte jedoch wissen, wie die Ausgabe an die Standardausgabe anstelle eines Verzeichnisses gesendet werden kann

Antworten:

0 f├╝r Antwort Ôäľ 1

Die von Ihnen genannten Formate sind nicht nur KomprimierungFormate, aber auch Archivformate - sie enthalten mehrere Dateien, und das Problem ist, dass "stdout" ein einfacher Bytestream ist, in dem keine M├Âglichkeit zur Begrenzung mehrerer Dateien integriert ist.

Aus diesem Grund erhalten Sie am besten die Option, a auszugeben einzelne Datei ├╝ber Standard, zum Beispiel:

bsdtar xfO MyArchive.zip path/to/important_file.txt > file.txt

Ich habe bsdtar f├╝r dieses Beispiel verwendet (Teil von libarchive), da es viele Archivformate einschlie├člich zip und 7-zip versteht.

(Sie k├Ânnten nat├╝rlich ein strukturiertes Format erfindenf├╝r die ├╝bertragung mehrerer dateien ├╝ber stdio, aber ... das w├╝rde sich nicht von den existierenden archivformaten "tar" oder "cpio" unterscheiden, die genau das tun. Sie w├╝rden im Grunde genommen einen "zip-to-tar" -Konverter machen.)