我正在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
我想要保留stdout(即将结果写入控制台),只需隐藏这些grep错误消息。除了2>
,我还尝试过&>
,但也没有起作用。我该怎么解决?