【发布时间】:2015-11-28 23:53:55
【问题描述】:
我有一个包含数千个文件的目录。这些文件每个大约有 10 到 100 Kb。现在我正在寻找一种将这些文件压缩到 ZIP 档案中的方法。但是有一些限制。
- 每个 ZIP 档案的最大大小为 4 MB。
- 档案需要单独提取,因此不能拆分和联系大的 ZIP 文件。
- 我已绑定到 ZIP。 TAR、RAR、DAR 等不是一个选项。 :(
大多数文件已经采用某种压缩格式(例如图像)。因此,可以假设 zip 文件的大小与其提取内容的总和差不多。
我正在考虑使用 Bash/ZSH 循环文件,同时保留文件名数组和文件大小总和。一旦超过最大总文件大小,我想压缩文件名数组中的文件并继续使用新数组和文件大小计数器。
【问题讨论】:
-
作为替代方案,您是否想过创建一个 zip 文件(如果可能的话)并使用 zipsplit 拆分成更小的 zip 文件?
-
@Component10 哇,哇。这正是我想要的。非常感谢!
标签: bash shell zip batch-processing zsh