Pregunta

Entonces mi pregunta es si de alguna manera puedo enviar datos a mi programa y luego enviar los mismos datos Y su resultado a otro programa sin tener que crear un archivo temporal (en mi caso ouputdata.txt). Preferiblemente utilizando tuberías de Linux / bash.

Actualmente hago lo siguiente:

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

cat inputdata.txt outputdata.txt | ./MyProg2

¿Fue útil?

Solución

Opción 1: arregle MyProg para escribir la salida combinada de la entrada y su propia salida. Entonces puedes hacer esto.

./MyProg <inputdata.txt | ./MyProg2

Opción 2: si no puede arreglar MyProg para escribir tanto la entrada como la salida, debe fusionarla.

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

Otros consejos

Aquí hay otra forma, que se puede extender para juntar la salida de dos programas:

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

Eso al menos funciona en Bash.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top