相关疑难解决方法(0)

如何在Unix(或Windows)中使用(最好是未命名的)管道将一个进程的stdout发送到多个进程?

我想将进程proc1的stdout重定向到两个进程proc2和proc3:

         proc2 -> stdout
       /
 proc1
       \ 
         proc3 -> stdout
Run Code Online (Sandbox Code Playgroud)

我试过了

 proc1 | (proc2 & proc3)
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用,即

 echo 123 | (tr 1 a & tr 1 b)
Run Code Online (Sandbox Code Playgroud)

 b23
Run Code Online (Sandbox Code Playgroud)

stdout而不是

 a23
 b23
Run Code Online (Sandbox Code Playgroud)

unix windows bash shell pipe

72
推荐指数
4
解决办法
2万
查看次数

通过尾部和头部通过T形管道文件

这里开始,我尝试读取文件并发出文件的头部和尾部(仅读取文件一次).

我尝试了以下方法: tee >(head) >(tail) > /dev/null < text.txt

这行按预期工作,但我想摆脱/ dev/null.所以我尝试过: tee >(head) | tail < text.txt

但是这条线不能按预期工作(好吧,正如我预期的那样),它会打印头部,但之后不会返回.显然尾巴正在等待什么.但我不知道具体到底是什么.我发现了这个问题,但是我无法用给定的答案运行它.

bash shell tee

3
推荐指数
1
解决办法
2921
查看次数

标签 统计

bash ×2

shell ×2

pipe ×1

tee ×1

unix ×1

windows ×1