Edited at

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

More than 5 years have passed since last update.


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が実行されず、エラーも出ない。