我在 Unix 服务器上使用以下命令:
find . -type f -name "*.txt" | xargs grep -li 'needle'
因为 grep -R
是不可用的,我必须使用这个 找到/Xargs解决方案。每次无法打开文件时,grep
都会告诉我:
不能打开“ foo.txt”
我想删除这条消息,所以我尝试将 stderr 重定向到 /dev/null
,但是不知怎么地,这不起作用。
find . -type f -name "*.txt" | xargs grep -li 'needle' 2>/dev/null
我想保留 stdout (即将结果写入控制台) ,并且只隐藏这些 grep 错误消息。取代 2>
,我也尝试了 &>
,但这也没有工作。我该怎么补救?