使用命令行将zip文件从一个存档添加到另一个存档

时间:2011-01-06 22:15:03

标签: macos bash zip

我有两个zip档案。比如说,set1有10个使用Mac OS X 10.5.8 compress选项创建的csv文件,set2有4个类似创建的csv文件。我想从压缩存档set2中取出4个文件,并将它们添加到存档set1中的文件列表中。我有办法做到吗?

我在终端尝试了以下内容:

zip set1.zip set2.zip

这会将整个存档set2.zip添加到set1.zip,即set1.zip现在我有:

file1.csv, file2.csv,..., file10.csv, set2.zip

我想要的是:

file1.csv, file2.csv,..., file10.csv, file11.csv, ..., file14.csv

其中,set2.zip是包含file11.csv, ..., file14.csv的存档。

感谢。

3 个答案:

答案 0 :(得分:1)

我不知道内置的OS X工具,但有zipmerge实用程序作为libzip packagehg repository可用)的一部分。

答案 1 :(得分:1)

unzip set2.zip -d .tmpdir; cd .tmpdir; zip ../set1.zip *; cd ..; rm -r .tmpdir;

答案 2 :(得分:0)

这里的脚本应该这样做。

zipjoin.sh

#!/bin/bash
#Example: ./zipjoin.sh merge_into.zip merge_from.zip
mkdir .tmp
unzip $2 -d .tmp
zip $1 .tmp/*
rm -r .tmp

希望有所帮助!