Domanda

Quindi la mia domanda è se posso in qualche modo inviare dati al mio programma e quindi inviare gli stessi dati E i suoi risultati a un altro programma senza dover creare un file temporaneo (nel mio caso ouputdata.txt). Preferibilmente usando linux pipe / bash.

Attualmente eseguo le seguenti operazioni:

cat inputdata.txt | ./MyProg > outputdata.txt

cat inputdata.txt outputdata.txt | ./MyProg2

È stato utile?

Soluzione

Scelta 1: correggi MyProg per scrivere l'output unito dall'input e il proprio output. Quindi puoi farlo.

./MyProg <inputdata.txt | ./MyProg2

Scelta 2 - Se non riesci a correggere MyProg per scrivere sia input che output, devi unire.

./MyProg <inputdata.txt | cat inputdata.txt - | ./MyProg2

Altri suggerimenti

Ecco un altro modo, che può essere esteso per mettere insieme l'output di due programmi:

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

Questo almeno funziona in Bash.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top