我有一个输出流:
xxx 2>&1 | grep 'Word:' | sed -e ...
某个命令的输出包含Word:
。我可以grep
这个词,并完成其余的命令。它运作良好。最后我得到了我期待的输出。但是现在我想要完整的日志(所以流2>&1
中的所有内容)都会显示在我的屏幕上的日志中,然后再点击Word:
并执行我的工作。
如果我xxx 2>&1
,那么我可以在屏幕上看到我想要的完整输出,但因为我必须grep
,所以我的命令中不再显示它{ {1}}
我在考虑类似的事情:
xxx 2>&1 | grep 'Word:' | sed -e ...
但这不起作用。
答案 0 :(得分:3)
tee
:将stdin复制到stdout,以及命令行参数中指定的文件。
您可以使用tee
将stdin复制到stderr:
xxx 2>&1 | tee /dev/stderr | grep ...
如果/dev/stderr
不可用,请使用/proc/self/fd/2
。