如何将多个现有的压缩文件合并成一个文件?我之所以这么问,是因为我有很多PDF要压缩,我想利用parallel
来节省时间(就像在ls ./*.pdf | parallel "zip {}.zip {}"
中那样)。这会创建许多zip文件,但我想将压缩文件合并到一个文件中。然后,我将把所有这些PDF作为一个压缩文件(而不是同样多的文件)发送。
我听说两个连接的zip文件形成一个有效的zip文件,但在我的测试中,我实际上还无法将一个大的级联zip文件解压缩回多个文件--在大多数情况下,只有第一个文件才能保存到我能够做到的程度。
我已经考虑过将我的所有压缩文件都存储到一个bigfile.zip.tar中,但如果可能的话,我也倾向于避免这种方法,因为我不认为我的收件人可以访问的标准解压缩工具会使这样的文件很容易恢复到许多单独的PDF中。
发布于 2020-03-03 19:25:01
我不认为你能轻易地连接ZIP文件。
gzip文件怎么样?与ZIP文件不同,它们应该很容易连接,如下所示:https://stackoverflow.com/questions/8005114/fast-concatenation-of-multiple-gzip-files。您还可以使用名为pigz:https://zlib.net/pigz/的并行gzip。但是,很难从这种连接的gzip文件中提取单个文件,如第一个链接的答复中所述。
是否确定收件人无法解压缩tar文件。大多数广泛使用的de/compress程序现在都支持tar存档。还有一个结合tar和pbzip2的有趣的选项,它允许您使用来自pbzip2:https://linuxconfig.org/how-to-perform-a-faster-data-compression-with-pbzip2的并行处理。
发布于 2020-03-17 13:26:18
你基本上想把压缩文件连在一起。zip文件格式不支持这一点,但它支持不压缩。当使用..pdf通常已经被压缩的文件时,这可能是有意义的。
所以使用-0
:
zip -0 my.zip *pdf
https://unix.stackexchange.com/questions/570948
复制相似问题