bzip2圧縮テキストファイルを解凍し、コンテンツを変更(新しいコンテンツの追加、並べ替えなど)してパイプに再圧縮する方法を探しています。
これを行う方法を見つけましたが、残念ながらbzip2はこの場合は同じファイルを使用できないため、再圧縮された出力として別のファイルを使用する必要があります。
これは私のコードです。
bzip2 -dc file.bz2 | sort | bzip2 -9 > file_2.bz2
同じファイルを使用すると、次のエラーが発生します。
bzip2: Compressed file ends unexpectedly;
perhaps it is corrupted? *Possible* reason follows.
bzip2: Success
Input file = file.bz2, output file = (stdout)
It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.
You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.
私の問題に対する解決策はありますか?
よろしくお願いします!
答え1
私の問題に対する解決策はありますか?
mv file_2.bz2 file.bz2
または、ユースケースなど、オプションの代わりにbunzip2
使用できます。bzip2 -d
-c
bzip2
圧縮要素がファイルごとに異なるため、圧縮されたデータを所定の位置に書き換えるのは難しいです。だからそこに行かないでください。
あなたの場合、sort
とにかくファイル全体がキャッシュされます。したがって、原則として簡単にする必要がありますが、実際には簡単な方法はありません。