Pergunta

Assim, a minha pergunta é se eu posso de alguma forma enviar dados para meu programa e, em seguida, enviar os mesmos dados e seu resultado para outro programa sem ter que criar um arquivo temporário (no meu caso ouputdata.txt). De preferência usando tubos Linux / bash.

Actualmente, eu fazer o seguinte:

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

inputdata.txt gato outputdata.txt | ./MyProg2

Foi útil?

Solução

Escolha 1 - correção MyProg para escrever a saída mesclada a partir da entrada e sua saída própria. Em seguida, você pode fazer isso.

./MyProg <inputdata.txt | ./MyProg2

Escolha 2 - Se você não pode consertar MyProg para escrever entrada e saída, você precisa merge

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

Outras dicas

Aqui é uma outra maneira, que pode ser estendido para colocar a saída de dois programas juntos:

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

que pelo menos obras em Bash.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top