8

所以我的问题是我是否可以以某种方式将数据发送到我的程序,然后将相同的数据及其结果发送到另一个程序,而无需创建临时文件(在我的情况下为 ouputdata.txt)。最好使用 linux 管道/bash。

我目前执行以下操作:

猫输入数据.txt | ./MyProg > 输出数据.txt

cat inputdata.txt outputdata.txt | ./MyProg2

4

2 回答 2

22

这是另一种方式,可以扩展为将两个程序的输出放在一起:

( Prog1; Prog2; Prog3; ...  ) | ProgN

这至少在 Bash 中有效。

于 2008-12-01T16:15:36.840 回答
11

选择 1 - 修复MyProg从输入写入合并输出和它自己的输出。然后你可以这样做。

./MyProg <inputdata.txt | ./MyProg2

选择 2 - 如果您无法修复MyProg同时写入输入和输出,则需要合并。

./MyProg <inputdata.txt | cat inputdata.txt - | ./MyProg2
于 2008-12-01T15:55:19.750 回答