使用 grep 过滤进程的输出

使用 grep 过滤进程的输出

我用command | grep -v "JavaScript strict warning"它来过滤命令的输出(隐藏警告)。当我像这样测试 grep 命令时,它工作正常:

$ printf "JavaScript strict warning: warning\nNot a warning\nJavaScript strict warning: warning\nJavaScript strict warning: warning\n" | grep -v "JavaScript strict warning"

输出为:

Not a warning

但是,当我过滤正在运行的输出时,JavaScript strict warning仍然会出现带有 的行。我相信这是因为原始命令正在生成另一个进程。有没有办法继续过滤新进程的输出?

答案1

您看到的输出可能是 stderr - 管道默认仅传递 stdout。

正如您在评论中指出的那样,您可以使用重定向来调整传递的内容。

相关内容