[comp.unix.wizards] Examples of multiple stream shell scripts

wyle@inf.ethz.ch (Mitchell Wyle) (06/02/89)

I have twice (for two different projects) tried unsuccessfully to
process two streams in parallel in Bourne shell scripts.  I'd
appreciate RTFM references, relevant examples and your help.

Consider the following pipleline:


               cos2
             /     \
            /       \
cos1 < file           cos4 |  cos5 > report 
            \       /       /
             \     /       /
               cos3 -------


where the output of cos2 and cos3 are join(1)ed to form the input to
cos4; the output of cos4 and cos3 are joined again for cos5.

Can tee(1) send output to multiple *streams* (not files)?  
What about named pipes?

Thanks for your help.  -Mitch
-- 
-Mitchell F. Wyle
Institut fuer Informationssysteme         wyle@inf.ethz.ch 
ETH Zentrum / 8092 Zurich, Switzerland    +41 1 256 5237

davidsen@sungod.crd.ge.com (William Davidsen) (06/08/89)

In article <258@ethz-inf.UUCP> wyle@inf.ethz.ch writes:

| Consider the following pipleline:
| 
| 
|                cos2
|              /     \
|             /       \
| cos1 < file           cos4 |  cos5 > report 
|             \       /       /
|              \     /       /
|                cos3 -------
| 
| 
| where the output of cos2 and cos3 are join(1)ed to form the input to
| cos4; the output of cos4 and cos3 are joined again for cos5.
| 
| Can tee(1) send output to multiple *streams* (not files)?  
| What about named pipes?

You have it. But what are you doing in cos5? Reading both streams at
once?? You can do them consecutively with cat, but not really mix them.
Well, maybe with a FIFO if you flushed the buffers, but I wouldn't like
to count on it.
	bill davidsen		(davidsen@crdos1.crd.GE.COM)
  {uunet | philabs}!crdgw1!crdos1!davidsen
"Stupidity, like virtue, is its own reward" -me