Posted at

findの検索結果が空の時、xargsでエラーを吐くのを抑止する方法

More than 1 year has passed since last update.

ハウスキーピングのshellを書いていて、消す対象が見つからない時に無駄なエラーが出るので、それを抑止するためのパラメータを調べたので備忘的に残しておきます。

nandymak@TEST01:~$ find ./ -name "XXXXX*" | xargs rm -v

rm: オペランドがありません
Try 'rm --help' for more information.
nandymak@TEST01:~$

cd /logs/UNIRITA/auto/JOBLOG

find . -type f -mtime +1 -name "EXEJOB.*" | xargs --no-run-if-empty rm -v

上記の例は、Linux版のA-AUTO(UNIRITA社製)の起動ログを削除するステップです。

日曜日とか、処理がない日はログが出来ないのでrmが引数なしで起動されてエラーを出します。

ハウスキーピングのログにエラーが出るので、いちいち確認作業が発生するのを防止するために「--no-run-if-empty」を入れてfindの結果が無い時はrmが実行されないようにします。