【发布时间】:2009-06-22 19:06:39
【问题描述】:
find . | awk '!/((\.jpeg)|(\.jpg)|(\.png))$/ {print $0;}' | xargs grep "B206"
我想抑制 grep: can't open..... 的输出并找到:无法从结果中打开行。
要忽略的示例输出:
grep: can't open ./cisc/.xdbhist
find: cannot open ./cisc/.ssh
【问题讨论】:
find . | awk '!/((\.jpeg)|(\.jpg)|(\.png))$/ {print $0;}' | xargs grep "B206"
我想抑制 grep: can't open..... 的输出并找到:无法从结果中打开行。
要忽略的示例输出:
grep: can't open ./cisc/.xdbhist
find: cannot open ./cisc/.ssh
【问题讨论】:
您是否尝试过将 stderr 重定向到 /dev/null ?
2>/dev/null
所以上面将流 2(即标准错误)重定向到 /dev/null。这取决于外壳,但以上内容应该适用于大多数人。因为 find 和 grep 是不同的进程,所以您可能必须同时为这两个进程执行此操作,或者(可能)在子 shell 中执行。例如
find ... 2>/dev/null | xargs grep ... 2>/dev/null
Here's 参考一些关于 bash 重定向的文档。除非您使用 csh,否则这应该适用于大多数人。
【讨论】:
选项标志 grep -s 将为 grep 命令抑制这些消息
【讨论】: