tar --skip-old-files: オープンできません: 対応するファイルまたはディレクトリがありません。

tar --skip-old-files: オープンできません: 対応するファイルまたはディレクトリがありません。

ディレクトリ内のすべてのファイルを解凍しようとしています。さまざまなサブディレクトリに分散されているため、ワイルドカードのみを使用することはできません。代わりに、以下を使用してくださいfind

find . -name "*.tar.gz" -print0 -execdir tar xvf {} \;

動作します。しかし、私は--skip-old-files

find . -name "*.tar.gz" -print0 -execdir tar xvf --skip-old-files {} \;

を追加すると、ファイルごと--skip-old-filesにエラーが発生します。

./path/to/file.tar.gztar: --skip-old-files: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

エラーメッセージが表示されるのはなぜですか?私が見たことのない小さなバグがあるでしょう。

ベストアンサー1

fその引数を次のコマンドライン引数と見なします。

tar xvf --skip-old-files {}

つまり--skip-old-files、したがってオプションではなく読み取るファイルとして解釈されます。

使用

tar xvf {} --skip-old-files

代わりに。

おすすめ記事