0

如果文件超过 60 天,我正在编写一个 shell 脚本来清除文件夹中的文件。我正在使用 find 命令来做到这一点。我还有一个要求,如果文件存在,那么脚本可以删除这些文件。如果没有超过 60 天的文件,我不希望我的命令给出任何错误消息。

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

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

请帮忙。

TIA。

4

2 回答 2

2

也许您缺少目标,即当前目录中的 AA* 文件?

怎么改成

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

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

find . -regex './AA.*' -mtime +60 -exec rm {} \;
于 2012-11-13T12:05:14.917 回答
1

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

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

... 2>/dev/null
于 2012-11-13T11:58:21.330 回答