Spec-Zone.ru › Perl 5.36

streamzip

СОДЕРЖАНИЕ

  • НАЗВАНИЕ
  • СИНОПСИС
  • ОПИСАНИЕ
    • ПАРАМЕТРЫ
    • Примеры
    • Когда создавать сжатый zip-архив в потоковом формате
  • ПОДДЕРЖКА
  • АВТОР
  • АВТОРСКИЕ ПРАВА

НАЗВАНИЕ

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API