我可以在 grep
中使用 -s
来抑制错误,但我没有在 man 中看到与 find
命令等效的命令页面...是重定向 STDERR>/dev/null 的唯一选项吗?
或者是否有处理此问题的选项? (如果需要,可以使用精美的 awk
和 perl
解决方案)
例子:
$ for dir in `ls /mnt/16_c/`; do find /mnt/16_c/$dir/data/ -mtime +180 -type f -exec echo {} \;; done
find: `/mnt/16_c/test_container/dat/': No such file or directory
最佳答案
您可以使用 2>/dev/null
重定向 stderr
,例如:
find /mnt/16_c/$dir/data/ -mtime +180 -type f -exec echo {} \; 2>/dev/null
顺便说一句,您问题中的代码可以替换为:
find /mnt/16_c/*/data/ -mtime +180 -type f 2>/dev/null
如果至少有一个匹配的目录,
那么你甚至不需要抑制 stderr
,
因为 find
只会在与此模式匹配的目录中搜索。
关于bash - 查找 - 抑制 "No such file or directory"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45575021/