在bash中,有没有一种方法可以将多个管道连接到一个进程?

在bash中,有没有一种方法可以将多个管道连接到一个进程?,bash,sed,pipe,Bash,Sed,Pipe,例如,如果我想在使用sed对两个文件进行预处理后,对两个文件执行diff,有没有办法在没有临时文件的情况下执行此操作 我尝试过类似的方法,但(如我所料)没有成功: (sed "$expr" file1; sed "$expr" file2) | diff - - 我在想可能有一种方法可以显式地创建管道或其他东西。尝试这样做: diff <(sed "$expr" file1) <(sed "$expr" file2) 见 谢谢,这正是我想要的!在cmd1中,提出了一个好问题。在

例如,如果我想在使用
sed
对两个文件进行预处理后,对两个文件执行
diff
,有没有办法在没有临时文件的情况下执行此操作

我尝试过类似的方法,但(如我所料)没有成功:

(sed "$expr" file1; sed "$expr" file2) | diff - -
我在想可能有一种方法可以显式地创建管道或其他东西。

尝试这样做:

diff <(sed "$expr" file1) <(sed "$expr" file2)



谢谢,这正是我想要的!在
cmd1中,提出了一个好问题。在
cmd2 | cmd1
中,
cmd2
可以在
cmd1
退出后继续,只要它不尝试写入关闭的管道。进程替换可能也会起到类似的作用。如果您发布文件,我们可能会帮助您制作一个awk命令来完成所有操作。
cmd1 2> >(cmd2)