tar: 更新されたインスタンスが多くのファイルの特定のバージョンを抽出する方法

tar: 更新されたインスタンスが多くのファイルの特定のバージョンを抽出する方法

複数回更新されたtarファイルがあり、同じファイルのコピーが複数あります。 -xを使用すると、最新バージョンのファイルが抽出されたことがわかりました。

例: a.txt の 3 つのバージョンを含む save.tar ファイルがあります。 a.txt version1 "完全ではありません。" a.txt version2 "正しい。" a.txt version3 "破損しています。"

a.txtを抽出する方法(バージョン2)

答え1

について。 40年前にtarインポートする必要があるn番目のイベントを指定するオプションについての議論がありましたが、それが良いアイデアであるかどうかはわかりません。

標準tar実装では、次のことを呼び出すことができます。

tar xvwf archive.tar

次に、「正しい」バージョンが抽出されたかどうかを対話的に確認します。

の場合、star追加の方法があります。

star -xv < archive.tar -find -mtime +some-time-spec -mtime -other-time-spec

「正しい」バージョンを選択するには、2つの便利なタイミング指定子を使用します。

望むより:http://schilytools.sourceforge.net/man/man1/star.1.html

もちろん、アーカイブにより多くのファイル名が含まれている場合は、追加のパス名セレクタを使用する必要があります。したがって、標準を使用すると、tar次のようになります。

tar xvwf archive.tar a.txt

星を追加すると、次のようになります。

star -xv < archive.tar a.txt -find -mtime +some-time-spec -mtime -other-time-spec

または:

star -xv < archive.tar -find -path a.txt -mtime +some-time-spec -mtime -other-time-spec

答え2

~からこのページ:

--occurrence=n

デフォルトは、またはそのメンバーの最初の発生nです。1

関連情報