如何避免Linux中的find命令抛出错误

时间:2017-09-08 22:54:44

标签: linux

我知道使用find命令删除旧文件的方法是:

find /mydir/typ* -type f -mtime + 5 -delete 

但是,如果找不到文件,则会返回错误saying no matches found。有没有办法可以无声地失败,即如果无法找到文件就不会抛出错误。如果是,请将其删除。

2 个答案:

答案 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。否则,您必须更加具体地了解您的情况。