Spec-Zone.ru › Perl 5.34

streamzip

СОДЕРЖАНИЕ

  • ИМЯ
  • СИНТАКСИС
  • ОПИСАНИЕ
    • НАСТРОЙКИ
    • Примеры
    • Когда создавать архивы Zip в потоковом режиме
  • ПОДДЕРЖКА
  • АВТОР
  • АВТОРСКИЕ ПРАВА

ИМЯ

streamzip — создание архива zip из стандартного ввода

СИНТАКСИС

producer | streamzip [opts] | consumer
producer | streamzip [opts] -zipfile=output.zip

ОПИСАНИЕ

Эта программа будет считывать данные из stdin, сжимать их в контейнер zip и, по умолчанию, записывать потоковый архив zip в stdout. Временные файлы не создаются.

Контейнер zip, записываемый в stdout, по необходимости записывается в потоковом формате. Большинство программ, которые считывают файлы Zip, могут обрабатывать потоковые zip-архивы, но если межплатформенная совместимость важна, а ваш рабочий процесс позволяет записать zip-архив непосредственно на диск, вы можете создать не потоковый zip-архив, используя опцию zipfile.

НАСТРОЙКИ

-zip64

Создать совместимый с Zip64 контейнер zip. Используйте эту опцию, если входной данные больше 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.34.0/streamzip

Spec-Zone.ru

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