从链式应用程序的中间检查stdout

时间:2010-09-29 20:00:15

标签: stdout tee

考虑这个示例链:

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

我想检查第二个grep的内容stdout以及生成的stdout:

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

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

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

2 个答案:

答案 0 :(得分:1)

我认为有一种称为'tee'的东西会给你这个。

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

答案 1 :(得分:0)

无法试一试,但就像加布里埃尔和鲍勃指出的那样,命令$ tee (man tee)会帮助你。 tee命令将接收输入并将其回显到stdout以及文件。鲍勃在评论中说:

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

将从grep -v bar获取输出并将其输入到stdout以及inspection.txt。 -a标志使其附加到检查而不是创建一个全新的文件。