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

问题描述:

我有两个zip存档。说,set1有10个csv文件使用Mac OS X 10.5.8 compress选项创建,而set2有4个类似创建的csv文件。我想从压缩存档文件set2中获取4个文件,并将它们添加到存档文件列表set1中。有没有办法可以做到这一点?使用命令行将zip文件从一个存档添加到另一个存档

我试图在终端中输入以下:

zip set1.zip set2.zip 

这增加了整个档案set2.zipset1.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的档案。

谢谢。

+0

http://superuser.com/questions/92963/how-to-combine-merge-zip-files – marcog 2011-01-06 22:29:41

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

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

这里的脚本应该这样做。

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 

希望帮助!