gpt4 book ai didi

Bash:如何将一个进程的 stdout 和 stderr 传递给两个不同的进程?

转载 作者:行者123 更新时间:2023-11-29 09:13:56 25 4
gpt4 key购买 nike

我有一个进程 myProcess1 可以生成 std​​out 和 stderr 输出。我想将两个输出流通过管道传输到两个不同的下游进程,myProcess2myProcess3,它们将处理数据,然后将结果转储到两个不同的文件中。是否可以使用单个命令来完成?如果没有,第二好的方法是运行两个单独的命令,一个用于处理 stdout,另一个用于处理 stderr。在这种情况下,第一次运行只是:

myProcess1 | myProcess2 > results-out.txt

处理 stderr 的类似命令是什么?谢谢

最佳答案

如果没有花哨的游戏,像这样的东西应该可以工作:

{ myProcess1 | myProcess2 > results-out.txt; } 2>&1 | myprocess3 > results-err.txt

对于奇特的游戏(在 /bin/sh 等中不起作用)你可以这样做:

myProcess1 2> >(myprocess3 > results-err.txt) | myProcess2 > results-out.txt

关于Bash:如何将一个进程的 stdout 和 stderr 传递给两个不同的进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31569514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com