Unlike other implementations, this one adheres strictly to sound operative system standards in that there is no more than one possible standard output at any given time.
$ command1 | tpipe 'pipeline > file' | command2
command1 --> tpipe -------> command2 | --> pipeline --> file
$ pipeline1 | tpipe "pipeline2" | pipeline3
pipeline1 ------------------> pipeline3 | ^ | | --> pipeline2 -
Expect UNDETERMINED final results, but it is assumed this is what you want:
Depending on which one is executed faster, pipeline3 will collect pipeline2's output before, after, or while receiving that of pipeline1.
tpipe does its best to keep balance on both outputs, therefore maximizing in fact the a-priori chance of receiving them interspersed.
$ cat wordlist1 | tpipe "cat dictionary2" >> passwords
cat wordlist1 -----------> passwords / cat dictionary2 ---
Same comment made for the previous example applies here, so you know all outputs will be collected in the end, only you don't know beforehand the order in which they will arrive.
Again, it is presumed that you don't care or even that this is precisely what you want, or you would rather be using more traditional things like:
$ cat wordlist1 >> passwords $ cat dictionary2 >> passwords
$ ...| tpipe "echo world" | tpipe 'echo hello' |...
tpipe '...'-- | v tpipe '...'-- | v command1 -------> command2 ^ | tpipe '...'-- ^ | tpipe '...'--
$ ...| tpipe "echo world | tpipe 'echo hello'" |...
Note the subtle difference from the previous example.
$ ...| tpipe '' |...
would be tantamount to ...| cat |...
$ PIPE1='cat > textfile'; PIPE2='sort | uniq' $ ... | tpipe $PIPE1 | eval $PIPE2 | ...
would be equivalent to: $ ... | tpipe 'cat > textfile' | sort | uniq | ...
which would -in turn- be equivalent to: $ ... | tee textfile | sort | uniq | ...
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English.
Nov 1 2003: Completely rewritten from scratch under the terms of the GNU General Public License by Juanjo Garcia <juanjo@eurogaran.com>