4

アーカイブを解凍せずにファイルを編集するにはどうすればよいですか。理由は、自動化タスクを作成しているためです。解凍、ファイルの編集、およびzipを実行できますが、実行時に実行できると、解凍/圧縮の時間を節約できます。

4

1 に答える 1

3

zipマニュアルページには、-uzipアーカイブを更新するオプションがあります。あなたはそれを次のように使うことができます:

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

次に、解凍​​して1つのファイルを編集し、再解凍するのに私のマシンでは約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
于 2012-11-29T21:55:34.060 に答える