tarball
名前がありますtest.tar
。まず、次を実行して名前を作成します。
echo start > 1
tar -cf test.tar 1
それから更新してください。
echo end > 1
tar -uf test.tar 1
これで、このtarアーカイブのファイルのリストを取得すると、次のようになります。
$ tar -tx test.tar
それは私に以下を与えます:
1
1
このファイルの内容を表示しようとすると:
$ tar -xOf test.tar
start
end
最後に抽出したいとき:
$ tar -xf test.tar 1
$ cat 1
end
以前のバージョンを抽出する方法はありますか1
? (含まれているものstart
)。
もう一つは、このファイルを削除することです。パラメーターを使用すると、--delete
アーカイブからその名前のすべてのファイルが削除されます。既存のものだけを削除するか、新しいもののみを削除するにはどうすればよいですか?
答え1
~からここ:
--occurrence[=number]
--delete
このオプションは、>サブコマンドの1つと一緒に使用したり、--diff
コマンドラインまたはオプションを介してファイルのリストを提供したりするときに使用できます。--extract
--list
-T
このオプションは、tarが指定された各ファイルの最初の項目のみを処理するように指示します。数値のデフォルト値は1なので
tar -x -f archive.tar --occurrence filename
archive.tar 'メンバーの最初の発生が
filename' from >
抽出され、アーカイブの最後までスキャンせずに終了します。
したがって、あなたの場合、以前のバージョンを抽出するには、以下を使用します。
tar -xf test.tar --occurrence=1 1
削除するには、以下を実行してください。
tar --delete -f test.tar --occurrence=1 1
両方のバージョンを抽出する別の解決策は、単に--backup
スイッチを使用することです。
tar -xf test.tar --backup
次のファイルを抽出します。
1
1~
これは1~
古いです。バージョンが3つ以上の場合は、--occurrence
代わりにスイッチを使用してください。
-w
インタラクティブモードを使用することもできますtar
。
tar -xf test.tar -w
今回はtar
各ジョブのメッセージが表示され、抽出する最初または最後のバージョンを選択できますy/n
。