如何将 stdout 通过管道传输到另一个进程,同时在本地文件中捕获 stdout?

如何将 stdout 通过管道传输到另一个进程,同时在本地文件中捕获 stdout?

使用如下命令:

program_that_produces_stdout | program_that_captures_stdout

我也想program_that_produces_stdout在本地捕获文件的输出。

明显地

program_that_produces_stdout | program_that_captures_stdout > some_file

不起作用,而且tee似乎不是适合这项工作的工具。

答案1

tee是在正确位置的正确命令。

 program_that_produces_stdout | tee some_file | program_that_captures_stdout

如果您想附加到“some_file”,而不是覆盖它(因此“>>”而不是“">”),请tee -a改为使用。

例如

 program_that_produces_stdout | tee -a some_file | program_that_captures_stdout

相关内容