Frage
Also meine Frage ist, ob ich irgendwie Daten an mein Programm senden und dann die gleichen Daten und das Ergebnis an ein anderes Programm senden, ohne eine temporäre Datei (in meinem Fall ouputdata.txt) erstellen zu müssen. Vorzugsweise unter Verwendung von Linux-Leitungen / bash.
ich zur Zeit wie folgt vor:
cat inputdata.txt | ./MyProg> outputdata.txt
cat inputdata.txt outputdata.txt | ./MyProg2
Lösung
Auswahl 1 - MyProg
beheben, um das fusionierte Ausgang vom Eingang und einen eigenen Ausgang zu schreiben. Dann können Sie dies tun.
./MyProg <inputdata.txt | ./MyProg2
Auswahl 2 - Wenn Sie nicht MyProg
beheben können sowohl Ein- und Ausgabe zu schreiben, müssen Sie verschmelzen
./MyProg <inputdata.txt | cat inputdata.txt - | ./MyProg2
Andere Tipps
Hier ist eine andere Art und Weise, die die Ausgabe von zwei Programmen erweitert werden kann, um gemeinsam:
( Prog1; Prog2; Prog3; ... ) | ProgN
Das zumindest funktioniert in Bash.