1

ファイルを解凍してアーカイブ全体を再パックせずに、.tar.bz2 ファイル内からファイルの名前を変更するより良い方法があるかどうかを知りたいです。

4

1 に答える 1

1

bzip2 は、tar によって生成されたストリーム全体に対してストリーム圧縮を実行します。ファイルの概念がないため、tar.bzip2 アーカイブ内のファイルを見つける唯一の方法は、ファイルが表示されるポイントまで bzip2 を解凍することです。ファイルを削除して新しい tar.bz2 アーカイブを作成するには、新しい tar ファイルを作成する必要があります。

アーカイブの解凍中に再圧縮を避けるために専用のキャッシュを作成すれば、元の tar.bz2 アーカイブの先頭を再利用できるかもしれませんが、アーカイブの残りの部分は必ず再圧縮する必要があります。

問題がディスク容量にある場合は、パイプを介してオンラインで解凍と圧縮全体を実行することを試みることができます。つまり、

bzcat original.tar.bz2 | command_to_rename_inside_tar | bzip2 > result.tar.bz2
于 2012-09-11T17:24:31.427 に答える