仅在文件存在时查找和删除

时间:2012-11-13 11:54:04

标签: shell unix

我正在使用shell脚本清除文件夹中的文件(如果文件超过60天)。我正在使用find命令来做到这一点。我还有一个要求,就好像该文件存在,然后脚本可以删除这些文件。如果没有超过60天的文件,我不希望我的命令提供任何错误消息。

find AA* -mtime +60 -exec rm {} \;

我正在使用上面给出的命令。如果没有超过60天的文件以及没有以“AA”开头的文件,它会给出错误消息“没有这样的文件或目录”。我不希望为我的命令报告任何此类消息。

请帮忙。

TIA。

2 个答案:

答案 0 :(得分:2)

也许你错过了目标,我。即当前目录中的AA *文件?

如何将其更改为

find . -name 'AA*' -mtime +60 -exec rm {} \;

或者如果您只需要检查从'AA'开始的文件或目录,您可以使用-regex:

find . -regex './AA.*' -mtime +60 -exec rm {} \;

答案 1 :(得分:1)

  

我不希望为我的命令报告任何此类消息。

将命令的标准错误重定向到/dev/null

... 2>/dev/null