我可以在-s
中使用grep
来抑制错误,但我在手册页中看不到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
答案 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
只会搜索与此模式匹配的目录。