Sie möchten, dass unzip
eine ZIP-Datei nicht als Argument, sondern als Standardeingabe verwendet wird. Dies ist in der Regel leicht gestützt durch gzip
und tar
Art von Werkzeugen mit einem -
Argument. Der Standard unzip
tut dies jedoch nicht (unterstützt jedoch die Extraktion in ein Rohr). Es ist jedoch nicht alles verloren ...
Schauen Sie sich die Funzip- Handbuchseite an.
funzip ohne Dateiargument fungiert als Filter. Das heißt, es wird davon ausgegangen, dass ein ZIP-Archiv (oder eine gzip-Datei) in die Standardeingabe geleitet wird, und das erste Mitglied wird aus dem Archiv in stdout extrahiert. Wenn stdin von einem tty-Gerät stammt, geht funzip davon aus, dass dies kein Stream von (binären) komprimierten Daten sein kann und zeigt stattdessen einen kurzen Hilfetext an. Wenn es ein Dateiargument gibt, wird die Eingabe von der angegebenen Datei anstelle von stdin gelesen.
Angesichts der Beschränkung der Einzelelementextraktion ist funzip in Verbindung mit einem sekundären Archivierungsprogramm wie tar (1) am nützlichsten. Der folgende Abschnitt enthält ein Beispiel, das diese Verwendung im Fall von Festplatten-Backups auf Band veranschaulicht.
Dies passt gut zu der Vorstellung, dass die meisten Linux-Archive normalerweise TAR'ed und dann in gewisser Weise ZIPped sind (gzip, bzip, et al.). Dies funktioniert für Sie, wenn Sie eine haben tar.ZIP
.
Es ist erwähnenswert, dass funzip
von Info-ZIP-Originalautor Mark Adler geschrieben. Er schreibt in der Funzip-Manpage:
this functionality should be incorporated into unzip itself (future release).
Es wird jedoch kein solches Update angezeigt. Ich vermute, dass Mark dies für unnötig hielt, da andere Archivierungsmethoden mit TAR problemlos funktionierten.