tarを使用して実際に抽出された(スキップされていない)ファイルのみを表示する

tarを使用して実際に抽出された(スキップされていない)ファイルのみを表示する

毎日のバックアップアーカイブを抽出しています。最後の日以降の新しいファイルだけを見たいです。アーカイブにはすでに存在する多くのファイルが含まれており、上書きしたくないので、その--skip-old-filesオプションを使用してもかまいません。

しかし、私は欲しいリストのみそのファイル実際に抽出そしてすでに存在しているので、スキップした項目は無視してください。

例:

私の現在のコマンドは次のとおりです。

tar --verbose --skip-old-files --extract --file=2019-02-10.tar.gz

出力は次のとおりです(ここで、file1とfile2はすでに存在し、file3は新しいものです)。

file1.zip
tar: file1.zip: skipping existing file
file2.zip
tar: file2.zip: skipping existing file
file3.zip

file3.zipの出力が必要です。可能ですか?

答え1

これがディレクトリに書き込む唯一のプロセスである場合は、一時ファイルを作成し、詳細情報表示モードでファイルを抽出し、一時ファイルよりも変更時間が最近のファイルを表示できます。

例えば

MYTMP=$(mktemp)
tar --skip-old-files --extract --file=2019-02-10.tar.gz
find . -cnewer $MYTMP
rm $MYTMP

関連情報