xargs で標準入力が空だったら何もしない

  • 57
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

find /hoge/fuga -ctime +30 -type f -print | xargs rm

などしたときに、何もfindの条件にマッチしなかったら、単に引数なしのrmが実行され

rm: missing operand
Try `rm --help' for more information.

となる。

こういったエラーを出したくない場合は、--no-run-if-empty を使って

find /hoge/fuga -ctime +30 -type f -print | xargs --no-run-if-empty rm

としてやると、findの結果が空の場合は、rmが実行されず、エラーも出ない。