Spec-Zone.ru › Perl 5.38

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

Создать контейнер 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.

АВТОР

Paul Marquess pmqs@cpan.org.

АВТОРСКИЕ ПРАВА

Авторские права (c) 2019-2022 Paul Marquess. Все права защищены.

Эта программа является свободно распространяемым программным обеспечением; вы можете перераспределять и/или изменять его в соответствии с теми же условиями, что и Perl сам по себе.

© 1993–2023 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.38.0/streamzip

Spec-Zone.ru

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