检查标准输出

问题描述:

考虑这个例子链:检查标准输出

cat foo.txt | grep -v foo | grep -v bar | grep -v baz 

我想检查标准输出所述第二grep的以及所得到的标准输出的内容:

cat foo.txt | grep -v foo | grep -v bar | UNKNOWN | grep -v baz 

所以我需要一个工具,UNKNOWN,例如将stdout的内容转储到一个文件中,并沿着链传递stdout。

是否存在工具UNKNOWN(Windows和Linux的答案都是相关的)?

我认为有一件事叫做'tee'就是给你的。

反映来自Bob的评论的更新: cat foo.txt | grep -v foo | grep -v bar | tee -a inspection.txt | grep -v baz

+2

cat foo.txt | grep -v foo | grep -v bar | tee -a inspection.txt | grep -v baz – 2010-09-30 05:39:44

无法给它一个镜头,但像Gabriel和Bob指出的那样,命令$ tee (man tee)可以帮助你。 tee命令将接受输入并将其回显到stdout以及文件。正如鲍勃在他的评论中说:

cat foo.txt | grep -v foo | grep -v bar | tee -a inspection.txt | grep -v baz 

会从grep -v bar输出,并把它输出到标准输出,以及inspection.txt。 -a标志导致它附加到检查而不是创建一个全新的文件。