How do I append onto pipes?

So my question is if I can somehow send data to my program and then send the same data AND its result to another program without having to create a temporary file (in my case ouputdata.txt). Preferably using linux pipes/bash.

I currently do the following:

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

cat inputdata.txt outputdata.txt | ./MyProg2

Answers


Choice 1 - fix MyProg to write the merged output from the input and it's own output. Then you can do this.

./MyProg <inputdata.txt | ./MyProg2

Choice 2 - If you can't fix MyProg to write both input and output, you need to merge.

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

Here is another way, which can be extended to put the output of two programs together:

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

That at least works in Bash.


Need Your Help

Documentation on MyBase?

database delphi tclientdataset

Can anyone provide me a link to a documentation or some examples of MyBase used with Delphi (newer versions) and especially basic operations (adding, modifying, deleting, searching ...)

Compare hashset with file

c# hashset

How can I compare a hashset with the content of a file?