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