我每周都需要将一堆 pdf 文件以 zip 格式上传到评分平台,但网站对每个 zip 文件的限制是 250Mb,而将 zip 文件拆分成更小的 zip 文件需要花费太多时间。
将 zip 分割成最大大小的块的最简单方法是什么?
可以在其他类 UNIX 平台(比如我工作用的 Mac)上运行的方法会很棒。
我正在寻找一个可以执行此操作的现有命令,或者一些简单的 python(或节点,或任何其他易于使用的语言)模块,以帮助我们编写一个可以执行此操作的小脚本。
答案1
你需要zipsplit
这是该包的一部分zip
:
zipsplit -n $(( 250 * 1024 * 1024 )) your_zipfile.zip
它将现有的 zip 文件分割成更小的块。每个块的大小可以通过开关提供-n
。它默认为 360000,因为几年前软盘的容量为 360 kB。
另一个选择是在压缩时首先创建块(参见zip
,尤其是-s
开关),从而避免了单独的zipsplit
步骤:
zip -s 250m new-zipfile file1 file2 file3...
不幸的是unzip new-zipfile.zip
无法处理通过以下方式创建的块zip -s
,因此您必须在解压缩之前在目标端加入它们:
zip --fix new-zipfile --out joined-zipfile
unzip joined-zipfile