Linux:将命名文件从管道添加到 zip 存档

标签 linux compression zip

是否可以使用类似的东西:

命令.exe | zip >> 存档.zip

命令2.exe | zip >> 存档.zip

...并在一个 zip 存档中得到两个命名文件。 如果可能的话,这种方式比使用临时文件更整洁。

最佳答案

在新目录中创建两个命名管道(使用 mkfifo),将命令的输出通过管道传输到这两个管道,然后压缩目录。

mkdir tmp
mkfifo tmp/1.out
mkfifo tmp/2.out
command1.exe > tmp/1.out
command2.exe > tmp/2.out
zip -FI -r tmp.zip tmp/

编辑:向 zip 添加了 FI 标志,这确实使这成为可能。唯一需要注意的是你需要 zip 3.0 才能工作。 Tar:ing FIFO:s 未实现(根据 tar 开发人员),因为您需要提前知道文件大小才能将其写入 TAR header 。

关于Linux:将命名文件从管道添加到 zip 存档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2021873/

相关文章:

PHP安装后无法运行,为什么?

asp.net - 如何在 IIS7 中进行 gzip 压缩?

python - P7zip 阻止 CLI 提示

python - 为什么在恢复 map 时 zip 失败?(python 函数)

java - 按路径将 zip 文件夹中的文件放入字符串数组中

sql - 如何修复 psql ubuntu 中 "psql"处或附近的语法错误

linux - 使用作为 bash 脚本参数传递的 glob 表达式

android - 如何在android中压缩视频文件

java - 是否可以组合 ZipOutputStream 和 DigestOutputstream?

python - Pygtk 和段错误