streamzip
СОДЕРЖАНИЕ
НАЗВАНИЕ
streamzip — создание zip-архива из стандартного ввода
СИНОПСИС
producer | streamzip [opts] | consumer
producer | streamzip [opts] -zipfile=output.zip ОПИСАНИЕ
Эта программа считывает данные из stdin, сжимает их в zip-контейнер и, по умолчанию, записывает потоковый zip-архив в stdout. Временные файлы не создаются.
Записываемый в stdout zip-контейнер, по необходимости, записывается в потоковом формате. Большинство программ, которые считывают zip-архивы, могут обрабатывать потоковый zip-архив, но если межплатформенная совместимость важна, и ваш рабочий процесс позволяет записывать zip-архив непосредственно на диск, вы можете создать не потоковый zip-архив, используя параметр zipfile.
ПАРАМЕТРЫ
- -zip64
-
Создать zip-контейнер, совместимый с Zip64. Используйте этот параметр, если входной объем превышает 4 Гб.
По умолчанию отключен.
- -zipfile=F
-
Записать zip-контейнер в файл с именем
F.Используйте параметр
Streamдля принудительного создания потокового zip-архива. - -member-name=M
-
Этот параметр используется для именования «файла» в zip-контейнере.
По умолчанию — '-'.
- -stream
-
Игнорируется при записи в
stdout.Если указан параметр
zipfile, включение этого параметра вызовет создание потокового zip-архива.По умолчанию: всегда включен при записи в
stdout, иначе отключен. - -method=M
-
Сжать с использованием метода
M.Допустимые названия методов:
* store Store without compression * deflate Use Deflate compression [Deflault] * bzip2 Use Bzip2 compression * lzma Use LZMA compression * xz Use xz compression * zstd Use Zstandard compressionОбратите внимание, что для сжатия Lzma требуется установка
IO::Compress::Lzma.Обратите внимание, что для сжатия Zstd требуется установка
IO::Compress::Zstd.По умолчанию
deflate. - -0, -1, -2, -3, -4, -5, -6, -7, -8, -9
-
Устанавливает уровень сжатия для
deflate. Игнорируется для всех других методов сжатия.-0означает отсутствие сжатия, а-9— максимальное сжатие.По умолчанию 6.
- -version
-
Отобразить номер версии
- -help
-
Отобразить справку
Примеры
Создание zip-архива, считывая данные из стандартного ввода
$ echo Lorem ipsum dolor sit | perl ./bin/streamzip >abcd.zip Проверка содержимого abcd,zip с помощью стандартной утилиты unzip
Archive: abcd.zip
Length Date Time Name
--------- ---------- ----- ----
22 2021-01-08 19:45 -
--------- -------
22 1 file Обратите внимание, как значение Name установлено в -. Это значение по умолчанию для нескольких утилит zip, когда имя члена не указано.
Если вы хотите явно указать имя файла, используйте параметр -member-name, как показано ниже
$ echo Lorem ipsum dolor sit | perl ./bin/streamzip -member-name latin >abcd.zip
$ unzip -l abcd.zip
Archive: abcd.zip
Length Date Time Name
--------- ---------- ----- ----
22 2021-01-08 19:47 latin
--------- -------
22 1 file Когда создавать сжатый zip-архив в потоковом формате
Потоковый zip-архив полезен в ситуациях, когда вы не можете перемещаться назад/вперед в файле.
Хороший пример — когда вы обслуживаете динамическое содержимое с веб-сервера непосредственно в сокет, не создавая временного zip-файла в файловой системе.
Аналогично, если ваш рабочий процесс использует команды Linux в конвейере.
ПОДДЕРЖКА
Общие отзывы/вопросы/отчеты об ошибках следует отправлять на https://github.com/pmqs/IO-Compress/issues (предпочтительно) или https://rt.cpan.org/Public/Dist/Display.html?Name=IO-Compress.
АВТОР
Пол Маркесс pmqs@cpan.org.
АВТОРСКИЕ ПРАВА
Авторские права (c) 2019-2021 Пол Маркесс. Все права защищены.
Эта программа — свободное программное обеспечение; вы можете перераспределять её и/или изменять её на тех же условиях, что и Perl.
© 1993–2021 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.
https://perldoc.perl.org/5.36.0/streamzip