我在AIX上有一个命令,它找到包含一个短语并且比某个年龄大的文件。但是我的报告充满了权限被拒绝的错误。我希望find只搜索它有权限的文件。
我有linux的命令
find /home/ ! -readable -prune -name 'core.20*' -mtime +7 -print
然而在这种情况下我无法使用可读。
find /home/ -name 'core.20*' -mtime +7 -print 2>/dev/null
工作得相当好,但这仍然会尝试搜索花费时间的目录。
答案 0 :(得分:0)
一个非常简单的修复,如果适合你,将使用grep过滤掉错误,如:
find /home/ -name 'core.20*' -mtime +7 -print 2>/dev/null | grep -v 'Permission denied'
这将隐藏包含短语“Permission denied”(区分大小写)的任何结果。
HTH!
答案 1 :(得分:0)
只需使用您的
find /home/ -name 'core.20*' -mtime +7 -print 2>/dev/null
如果您想在未经许可的情况下跳过dir,您的脚本必须以某种方式向Unix请求许可。这正是发现正在做的事情:当顶层关闭时,没有时间花在下面的树上。唯一的成本是stderr,这就是你的重定向。
如果要将其优化为日常使用,您可能希望在每6天一次的crontab中创建一个文件未更改超过一天的文件,并使用日志作为每日claing的输入。这个解决方案无济于事,非常脏。坚持使用2>/dev/null