streamzip - 从标准输入创建 zip 文件
producer | streamzip [opts] | consumer
producer | streamzip [opts] -zipfile=output.zip
该程序将从stdin
读取数据,将其压缩到 zip 容器中,并默认将流式 zip 文件写入stdout
。不会创建任何临时文件。
写入stdout
的 zip 容器必须以流式格式写入。大多数读取 Zip 文件的程序都可以处理流式 zip 文件,但如果互操作性很重要,并且您的工作流程允许您将 zip 文件直接写入磁盘,则可以使用zipfile
选项创建非流式 zip 文件。
创建符合 Zip64 标准的 zip 容器。如果输入大于 4Gig,请使用此选项。
默认情况下禁用。
将 zip 容器写入文件名 F
。
使用 Stream
选项强制创建流式 zip 文件。
此选项用于命名 zip 容器中的“文件”。
默认值为 '-'。
写入 stdout
时忽略。
如果指定了 zipfile
选项,则包含此选项将触发创建流式 zip 文件。
默认值:写入 stdout
时始终启用,否则禁用。
使用方法 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
。
设置 deflate
的压缩级别。对于所有其他压缩方法,此选项将被忽略。
-0
表示不压缩,-9
表示最大压缩。
默认值为 6
显示版本号
显示帮助
通过从标准输入读取 daa 创建一个 zip 文件
$ echo Lorem ipsum dolor sit | perl ./bin/streamzip >abcd.zip
使用标准 unzip
实用程序检查 abcd,zip
的内容
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 文件在您无法在文件中向后/向前查找的情况下很有用。
一个很好的例子是,当您从 Web 服务器直接将动态内容提供到套接字中时,而无需在文件系统中创建临时 zip 文件。
类似地,如果您的工作流程使用 Linux 管道命令。
一般反馈/问题/错误报告应发送至 https://github.com/pmqs/IO-Compress/issues(首选)或 https://rt.cpan.org/Public/Dist/Display.html?Name=IO-Compress。
Paul Marquess [email protected]。
版权所有 (c) 2019-2022 Paul Marquess。保留所有权利。
本程序是自由软件;您可以在 Perl 本身相同的条款下重新发布和/或修改它。