编辑文件而不解压缩存档

时间:2012-11-29 19:52:40

标签: linux bash ziparchive

如何在不解压缩存档的情况下编辑文件,原因是我正在编写自动化任务,我可以解压缩,编辑文件并压缩它,但如果我能在运行时执行它会很好,这样可以节省解压缩的时间/压缩。

1 个答案:

答案 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