Answers:
-s切换还不够吗?您可以使用zip -s将文件拆分为最大大小的文件,例如:
“ zip -s 300m <2 GB文件>”产生:
file.zip (300 mb, master file)
file.001.zip (300 mb)
file.002.zip (300 mb)
file.003.zip (300 mb)
file.004.zip (300 mb)
file.005.zip (300 mb)
file.006.zip (200 mb)
然后,“ unzip file.zip”将所有内容解压缩在一起。
;)
split
在输入文件列表中使用:-)。
(未经测试,我提供了rm命令进行清理,请注意)。
ls *.csv > csvfiles
split -d -l30 - csvfiles < csvfiles
for i in csvfiles[0-9][0-9]; do
zip "$i.zip" -@ < "$i"
done
rm csvfiles
rm csvfiles[0-9][0-9]
split -C
(--line-bytes
)而不使用split -l
(--lines
)?关于一个存档中有多少个CSV文件,这将是更可预测的。
file.z01 file.z02 ... file.zip
并且unzip file.zip
不能直接工作(我会先使用zip -F重新组合它们)。请注意,这些不是“独立的”请求。