Що ви хочете зробити, це зробити, щоб unzip
взяти ZIPped файл на його стандартному вході, а не як аргумент. Це, як правило , легко підтримується gzip
і tar
вид інструментів з -
аргументом. Але стандарт unzip
цього не робить (хоча, він підтримує витяг до труби). Однак все не втрачено ...
Подивіться сторінку посібника з функцією funzip .
funzip без аргументу файлу виконує функції фільтра; тобто передбачається, що ZIP-архів (або файл gzip'd) передається на стандартний вхід, і він витягує першого члена з архіву до stdout. Коли stdin надходить із пристрою tty, funzip припускає, що це не може бути потік (двійкових) стислих даних і натомість показує короткий довідковий текст. Якщо є аргумент файлу, то введення зчитується із зазначеного файлу замість stdin.
Враховуючи обмеження на одночасне вилучення, funzip є найбільш корисним у поєднанні з додатковою програмою архівації, такою як tar (1). Наступний розділ містить приклад, що ілюструє це використання у випадку резервного копіювання диска на стрічку.
Це добре поєднується з ідеєю, що більшість архівів Linux зазвичай є TAR'ed, а потім якимось чином ZIPped (gzip, bzip та ін.). Це буде працювати для вас, якщо у вас є tar.ZIP
.
Варто зазначити, що funzip
написаний оригінальним автором Info-ZIP Марком Адлером. Він пише на сторінці manzip man,
this functionality should be incorporated into unzip itself (future release).
однак такого оновлення навколо не спостерігається. Я підозрюю, що Марк вважав це непотрібним, оскільки інші методи архівації легко працювали з TAR.