在管道或重定向中具有额外的参数

在管道或重定向中具有额外的参数

我有两个程序,我想将它们通过管道相互连接,但它们需要额外的参数:

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(如果它们位于管道的左侧)。

相关内容