ようは対象となるファイルにヒットしなかった場合、実行しなければよい。
例えばfindコマンドで見つけたファイルをrmコマンドで削除しようとしている場合。
find ./ -name 'target-file-name_*.txt' | xargs --no-run-if-empty rm
上記のように「–no-run-if-empty」オプションを付加してやれば良い。
ようは対象となるファイルにヒットしなかった場合、実行しなければよい。
例えばfindコマンドで見つけたファイルをrmコマンドで削除しようとしている場合。
find ./ -name 'target-file-name_*.txt' | xargs --no-run-if-empty rm
上記のように「–no-run-if-empty」オプションを付加してやれば良い。
linuxにて誤って36万件ものファイルを生成してしまい、それをrmコマンドで一気に消そうとしたところ下記のようなエラーが帰ってきて怒られてしまった。
/bin/rm: Argument list too long
どうやらファイルの数が多すぎるため削除出来ないとの警告メッセージであるとのことが判明
これでは困るため、どうにかして削除出来ないか調べた結果findとxargsコマンドを組み合わせて消せることが判明。
find ./ -name 'target-file-name_*.txt' | xargs rm
※ファイル名は任意で変更されたし。
これでどれだけ膨大のファイルが指定ディレクトリに存在しようと、ごっそりと削除してくれる。