编辑文件而不解压缩存档
Posted
技术标签:
【中文标题】编辑文件而不解压缩存档【英文标题】:Edit file without unzipping archive 【发布时间】:2012-11-29 19:52:40 【问题描述】:我如何在不解压缩存档的情况下编辑文件,原因是我正在编写自动化任务,我可以解压缩,编辑文件并压缩它,但如果我可以在运行时完成它会很好,这样可以节省解压缩时间/压缩。
【问题讨论】:
重复问题。你不能这样做,见下文:***.com/questions/6334037/… 【参考方案1】: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
但是调用zip -u
只需要大约3s。
mkdir source
head -c1000000 /dev/random > source/3
zip -u bigzip.zip source/3
【讨论】:
这个脚本zip -u file.zip path-to-file-1 path-to-file-2 ...
不适用于 python3。我需要遵循什么技巧吗?以上是关于编辑文件而不解压缩存档的主要内容,如果未能解决你的问题,请参考以下文章
HP-UX - 如何在不解压缩的情况下从 tar 存档中读取文本文件?