2011-11-15 16 views
0

複数のbzip2に大きなRARファイルを変換:が効率的にsitutation

私は、複数のログファイルを含む大きなRARファイルを受け取りました。 私は個々のログファイルをbzip2アーカイブに変換しています。私が今やっている何を

はcompletly RARファイルを解凍し、だけにしてbzip2のアーカイブにすべてのログファイルを変換します。私がやりたい何

は、最初にすべての非圧縮ファイルを格納しないことにより、可能な限り効率的。

私の最初のアイデアは、ファイルが完全に圧縮解除されたときを区別するためにunrarの出力を解析し、その後bzip2圧縮を開始することです。

どうすればいいですか?

答えて

2

のunrarがファイルを印刷するpコマンドをサポートしているため、このような何かが動作するはずです:

for FN in $(unrar lb "$RARFILE"); do 
    unrar p -ierr "$RARFILE" "$FN" | bzip2 -c > "$FN.bz2" 
done 

アーカイブはそれがすべて処理する必要がありますので、これは非常に効率的ではないだろう「ベタ」アーカイブである場合ファイルを複数回また、ファイル名にスペースが含まれている可能性がある場合は注意してください。