我如何在不解压缩存档的情况下编辑文件,原因是我正在编写自动化任务,我可以解压缩,编辑文件并压缩它,但如果我可以在运行时执行它会很好,这样可以节省解压缩/压缩的时间。
问问题
5688 次
1 回答
3
zip
手册页提供了-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
但是调用只需要3s左右zip -u
。
mkdir source
head -c1000000 /dev/random > source/3
zip -u bigzip.zip source/3
于 2012-11-29T21:55:34.060 回答