Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果文件超过 60 天,我正在编写一个 shell 脚本来清除文件夹中的文件。我正在使用 find 命令来做到这一点。我还有一个要求,如果文件存在,那么脚本可以删除这些文件。如果没有超过 60 天的文件,我不希望我的命令给出任何错误消息。
find AA* -mtime +60 -exec rm {} \;
我正在使用上面给定的命令。如果没有文件早于 60 天以及它们不是以“AA”开头,它会给出错误消息“没有这样的文件或目录”。我不希望为我的命令报告任何此类消息。
请帮忙。
TIA。
也许您缺少目标,即当前目录中的 AA* 文件?
怎么改成
find . -name 'AA*' -mtime +60 -exec rm {} \;
或者,如果您只需要检查从“AA”开始的文件或目录,您可以使用 -regex:
find . -regex './AA.*' -mtime +60 -exec rm {} \;
我不希望为我的命令报告任何此类消息。
将命令的标准错误重定向到/dev/null
/dev/null
... 2>/dev/null