To, co chcesz zrobić, to unzip
wziąć plik ZIP na standardowe wejście zamiast argumentu. Zazwyczaj jest to łatwo wspierane przez gzip
i tar
rodzaj narzędzi z -
argumentem. Ale standard unzip
tego nie robi (obsługuje jednak ekstrakcję do potoku). Jednak nie wszystko jest stracone...
Spójrz na stronę podręcznika funzip .
funzip bez argumentu pliku działa jak filtr; oznacza to, że zakłada, że archiwum ZIP (lub plik spakowany gzipem) jest przesyłane do standardowego wejścia i wypakowuje pierwszy element z archiwum na standardowe wyjście. Gdy stdin pochodzi z urządzenia tty, funzip zakłada, że nie może to być strumień skompresowanych danych (binarnych) i zamiast tego wyświetla krótki tekst pomocy. Jeśli istnieje argument pliku, dane wejściowe są odczytywane z określonego pliku zamiast ze standardowego wejścia.
Biorąc pod uwagę ograniczenie ekstrakcji z jednego elementu, funzip jest najbardziej przydatny w połączeniu z dodatkowym programem archiwizującym, takim jak tar (1). Poniższa sekcja zawiera przykład ilustrujący to użycie w przypadku kopii zapasowych dysków na taśmę.
Jest to zgodne z ideą, że większość archiwów linuksowych jest zwykle TAR'owana, a następnie w jakiś sposób skompresowana (gzip, bzip, i in.). To zadziała, jeśli masz tar.ZIP
.
Warto zauważyć, że funzip
został napisany przez oryginalnego autora Info-ZIP, Marka Adlera. Pisze na stronie man funzip,
this functionality should be incorporated into unzip itself (future release).
jednak nie ma takiej aktualizacji. Podejrzewam, że Mark uznał to za niepotrzebne, ponieważ inne metody archiwizacji działały łatwo z TAR.