The Pipe

In 1964, Douglas McIlroy wrote a memo at Bell Labs. It contained one analogy that would reshape how programmes communicate:

We should have some ways of coupling programs like garden hose: screw in another segment when it becomes necessary to massage data in another way.

Nine years passed. Then Ken Thompson read it and implemented it overnight. One character: |
 
That's a nice bit of trivia. Programs screwing other programs... Wait!

ThisIsAGoodThread.png
 
And it's everywhere - FreeBSD, Linux, Mac, even Windows! No one told me why commands with long outputs could be viewed one screen at a time by adding " | more" when I worked with DOS or (if I remember correctly) Commodore Basic, but there it was - the pipe, quietly doing its job.
 
1) People who smoke a pipe think they are superior. They are not. They stink, like all smokers. Cigar-smokers stink even more.

2) The problem with piping is that you cannot create parallel flows. You cannot pipe the same output to two or more different programs to create several results (not necessarily concurrently).
 
1) People who smoke a pipe think they are superior. They are not. They stink, like all smokers. Cigar-smokers stink even more.

2) The problem with piping is that you cannot create parallel flows. You cannot pipe the same output to two or more different programs to create several results (not necessarily concurrently).
What would that look like in a command? I think it's practically almost impossible to use. The scenario where you don't want to redirect the same output to 2 different places and continue independently in 2 directions...
It has to be 1 line without condition and loop structure or backgrounding anything?
 
Back
Top