我可以用-s在grep压制错误,但我没有看到为等效find的man page命令是重定向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
Run Code Online (Sandbox Code Playgroud)
您可以重定向stderr使用2>/dev/null,例如:
find /mnt/16_c/$dir/data/ -mtime +180 -type f -exec echo {} \; 2>/dev/null
Run Code Online (Sandbox Code Playgroud)
顺便说一下,您问题中的代码可以替换为:
find /mnt/16_c/*/data/ -mtime +180 -type f 2>/dev/null
Run Code Online (Sandbox Code Playgroud)
如果至少有一个匹配的目录,那么您甚至不需要抑制stderr,因为它find只会搜索与此模式匹配的目录.
| 归档时间: |
|
| 查看次数: |
6526 次 |
| 最近记录: |