find - suppress"没有这样的文件或目录"错误

时间:2017-08-08 17:56:22

标签: bash unix find

我可以在-s中使用grep来抑制错误,但我在手册页中看不到find命令的等效内容...是唯一选项重定向STDERR> / dev / null?

或者是否有处理此选项的选项? (如果需要,可以使用花哨的awkperl解决方案)

示例:

$ 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

1 个答案:

答案 0 :(得分:6)

您可以使用stderr重定向2>/dev/null,例如:

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只会搜索与此模式匹配的目录。