问题描述
我需要对程序的标准输出流做两件事:说,将其定向到两个管道中,或将其打印到终端并定向到管道中。但是-这些东西都没有将其定向到文件中。
如果我想要管道+文件,则可以使用tee
命令:myprog | tee out.txt | another_command
,如here所述。但是,如果两个操作都没有写入文件怎么办?
解决方法
您可以在bash
中使用流程替换来实现。假设您要将输出从myprog
重定向到两个单独的实体以便继续阅读,请与>(..)
一起使用tee
myprog | tee >(prog1) >(prog2)
有关更多信息,请参见Greg's Wiki或man bash文档。