我有两个程序,我想将它们通过管道相互连接,但它们需要额外的参数:
prog1 <inputfile> <outputfile> min max
prog2 <inputfile> <outputfile> min max
将它们连接在一起的语法是什么样的?参数会影响吗?
管道也会自动对 prog1 的输出进行排序吗?
答案1
如果prog2
遵循通用约定,您可以使用-
“文件”来告诉它从标准输入读取,然后管道将是
prog1 <inputfile> - min max | prog2 - <outputfile> min max
这将告诉 prog1 写入stdout
其输出文件,并prog2
使用stdin
连接这两个文件的管道作为其输入文件。
这不会自动对它们进行排序,但您可以将其添加到管道中:
prog1 <inputfile> - min max | sort | prog2 - <outputfile> min max
并且参数不会影响管道。您只需要确保管道中的程序知道如何从 stdin 读取(如果它们位于管道的右侧)并写入 stdout(如果它们位于管道的左侧)。