所以我的问题是,如果我能以某种方式将数据发送到我的程序,然后将相同的数据及其结果发送到另一个程序而不必创建临时文件(在我的情况下是ouputdata.txt)。 最好使用linux pipes / bash。
我目前正在执行以下操作:
cat inputdata.txt | ./MyProg> outputdata.txt
cat inputdata.txt outputdata.txt | ./MyProg2
答案 0 :(得分:22)
这是另一种方法,可以扩展为将两个程序的输出放在一起:
( Prog1; Prog2; Prog3; ... ) | ProgN
至少在Bash中有效。
答案 1 :(得分:11)
选择1 - 修复MyProg
以从输入和它自己的输出中写入合并的输出。然后你就可以做到这一点。
./MyProg <inputdata.txt | ./MyProg2
选择2 - 如果您无法修复MyProg
来同时写入输入和输出,则需要合并。
./MyProg <inputdata.txt | cat inputdata.txt - | ./MyProg2