メモ:

メモ:

おはようございます、

tar圧縮アーカイブtar.bzip2があります(次をtar jcf使用して作成されます)。データ.txt (1)。一方、名前の異なるファイルもあります。データ.txt (2)

ファイルを追加する方法はありますか?(2)ファイルの最後まで(1)bz2アーカイブを解凍し、ファイルを追加してから復元しませんか?
ところで、私はこの3つのステップを実行しました。ただ好奇心で(または「out of 好奇心」…英語でこの表現がわからない)してしまったのです。

正しいオプションを探していましたが、見つかりませんでした。

  • -rオプションに「中断」と表示されます。アーカイブにすでに存在するファイルを追加しようとしているためです。
  • -u置き換えると思いましたが、圧縮されたアーカイブを更新できませんでした。(1)渡す(2)
  • -Aまた、「中断」するように言いました。このオプションの機能が何であるかよくわかりません。あるアーカイブのファイルを別の既存のアーカイブに追加するようです。だからこれは私が望むものではありません。

私はLinuxでGNU tar 1.15.1を使用しています。

メモ:

私が十分に説明していないようで、例を挙げてみましょう
データ.tar.bz2というファイルが含まれています。データ.txt (1)。その内容は次のとおりです。

名前の異なるファイルもありますデータ.txt (2)。その内容は次のとおりです。

第二

私の意図はデータ.tar.bz2両方(1)そして(2)もちろん、ファイルの内容は次のファイルにあります。データ.txt:


AとB

つまり、解凍、解凍、一時ディレクトリの作成などの作業を行う必要なく、1 つのコマンドで実行します。

mkdir $tempDir
tar jxf data.tar.bz2 -C $tempDir
cat data.txt >> $tempDir/data.txt
tar jcf data.tar.bz2 -C $tempDir data.txt 
rm -r $tempDir 

はい、追加したいが、-rそのオプションは機能しません。記憶が正しい場合は、ファイルをアーカイブに追加しますが、アーカイブ内の既存のファイルの内容は追加しないためです。これが明確になることを願っています...全くわかりませんxD

ベストアンサー1

data.txttarアーカイブの唯一のファイルの場合は、直接追加できますが、tarまったく使用しないでください。

$ echo Hello | bzip2 > data.txt.bz2
$ echo Stack | bzip2 >> data.txt.bz2
$ echo Exchange | bzip2 >> data.txt.bz2
$ bunzip2 < data.txt.bz2
Hello
Stack
Exchange

おすすめ記事