tar アーカイブからファイルを削除する

tar アーカイブからファイルを削除する

foo.tar.xz多くのファイル(200000など)を含む大容量ファイルがあります。私はこのアーカイブに私が望んでいないいくつかのファイル(約5000個)が含まれていることを発見しました。ファイル全体をマイディスクに解凍するのに十分なディスク容量がありません。また、これは属性/権限が失われる可能性があるという心配になります。 2枚をコピーするのに十分なスペースがあります。圧縮しかし、アーカイブ。アーカイブ(ファイル名に正規表現として指定)からインスタント、つまりアーカイブを別々のファイルに解凍せずに特定のファイルを削除できるツールはありますか?

ベストアンサー1

GNU tarには--deleteアーカイブ処理オプションもあります。

たとえば、次のように使用します。

tar -vf yourArchive.tar --delete your/path/to/delete

次のことを避けてください。おそらくいいえあらゆる種類のテープメディアで動作します。ただし、tarパイプライン操作に問題はないので、一時的なtarファイルを使用してそのファイルでテープを上書きするだけです。また、圧縮ファイルでは機能しないため、ファイルを解凍する必要があります。

さらに、tarアーカイブ圧縮の線形的性質のため(設計上)、いかなる場合でも作業速度はかなり遅くなります。

おすすめ記事