我知道使用find命令删除旧文件的方法是:
find /mydir/typ* -type f -mtime + 5 -delete
但是,如果找不到文件,则会返回错误saying no matches found
。有没有办法可以无声地失败,即如果无法找到文件就不会抛出错误。如果是,请将其删除。
答案 0 :(得分:0)
find /mydir/typ* -type f -mtime + 5 -delete 2> /dev/null
答案 1 :(得分:0)
因此,根据您对其他答案的评论,您的完整错误为zsh: no matches found
。 错误来自您的shell,而不是find
。
/mydir/typ*
是一个shell glob,如果没有文件匹配glob,默认情况下zsh会给你一个错误。 More info on that here
目前还不清楚您的目录结构和用途是什么,但如果您想在typ*
中找到与/mydir
匹配的文件,则需要find /mydir -name 'typ*' -type f -mtime +5 -delete
。否则,您必须更加具体地了解您的情况。