在终端中合并两个程序

时间:2014-08-31 20:24:42

标签: terminal

我正在运行Ubuntu,我有2个可执行文件。其中之一是使用scanf读取输入的排序算法。我还有一个generate可执行文件,可生成n个随机数。 如何使generate的输出生成排序算法的参数。

例如我会做

./bubble     // bubblesort implementation
1
5
2
3
4
CTRL+D       // to stop the reading

,输出是排序的数字列表。我也可以做到

./generate 10

它会给我10个随机数。 我希望./bubble输入是./generate输出。谢谢!

2 个答案:

答案 0 :(得分:2)

您可以使用unix pipes将stdout从一个程序传输到另一个程序的stdin。

./generate 10 | ./bubble

答案 1 :(得分:1)

您需要的是xargs

要将generate的输出视为参数,您可以这样做:

./generate 10 | xargs ./bubble

如果你想写bubble s stdin,试试这个:

./bubble <( ./generate 10 )