【发布时间】:2017-11-29 05:39:21
【问题描述】:
我在 Unix 服务器上使用以下命令:
find . -type f -name "*.txt" | xargs grep -li 'needle'
由于grep -R不可用,我不得不使用这个find/xargs解决方案。每次文件无法打开时,grep 都会告诉我:
grep:无法打开“foo.txt”
我想摆脱这条消息,所以我尝试将 stderr 重定向到 /dev/null,但不知何故这不起作用。
find . -type f -name "*.txt" | xargs grep -li 'needle' 2>/dev/null
我想保留标准输出(即将结果写入控制台),并且只隐藏这些 grep 错误消息。而不是2>,我还尝试了&>,但这也没有用。我该如何解决这个问题?
【问题讨论】:
-
你用的是什么外壳?
-
是的,但这太不具体了。最好找到一个典型问题的候选人并指出这一点(并投票或将其标记为重复)。
-
相关(尽管这都是输出),从 2009 年开始:How can I suppress all output from a command using Bash?