Linux zip追加文件

要向一个zip里面添加一个文件,之前想用代码写的,但是都用了Linux,去你妹的,直接用命令来岂不是更帅?

百度了一下,发现一个zip -m zip.zip zip.txt的,但是文件被删除了,那怎么才能把文件添加到压缩包,而文件又不被删除呢?

找了半天没发现有那个参数可以,幸好脑袋灵光一闪,原来直接使用zip zip.zip zip.txt就可以了…

更多压缩命令:http://linuxnote.blog.51cto.com/9876511/1635830

顺便写了两个批量添加文件到压缩包的脚本:

  • find
#!/bin/sh
zip_add_file(){    
	for filename in `find $1 -name *.zip`
	do
		if [ -f "$filename" ];then
			echo "压缩$filename"
			zip "$filename" ./t.txt
		fi
	done
}   
zip_add_file ./test
  • ls
#!/bin/sh
zip_add_file(){    
	for filename in `ls -A $1`    
	do
		if [ -d "$1/$filename" ];then
			list_alldir "$1/$filename"
		fi
		if [ -f "$1/$filename" ] && [ "${filename##*.}" == "zip" ] ;then
			echo "压缩$1$filename"
			zip "$1/$filename" ./t.txt
		fi
	done
}   
zip_add_file ./test

上面的有点问题就是文件中含有中文文件夹的时候,除了WinRAR的其他一些压缩软件都会出现不支持压缩算法的问题,所以改用jar uf命令了(http://www.233.com/Java/zhuangye/20071014/103220933-2.html