如何在不解压缩存档的情况下编辑文件,原因是我正在编写自动化任务,我可以解压缩,编辑文件并压缩它,但如果我能在运行时执行它会很好,这样可以节省解压缩的时间/压缩。
答案 0 :(得分:2)
zip
man page提供-u
选项来更新zip存档。您可以像这样使用它:
zip -u bigzip.zip file/to/update1 file/to/update2 ...
这不会是即时的,但会更快。如果我创建一个200MB的zip文件样本:
mkdir source
for (( f = 0; f < 200; f++ )); do
head -c 1000000 /dev/random > source/${f}
done
zip -0r bigzip.zip source
然后解压缩,编辑一个文件,并在我的机器上重新拉链大约需要9秒:
unzip bigzip.zip
head -c 1000000 /dev/random > source/3
zip -0r bigzip.zip source
但只需约3秒就可以拨打zip -u
。
mkdir source
head -c1000000 /dev/random > source/3
zip -u bigzip.zip source/3