Apparently today is the 50th anniversary of using '|' for connecting shell pipelines. It was introduced in v4 of the Thompson shell, whose manpage is dated 1973-04-18 [1]. Previously the syntax for 'a | b' was `a >b>` [2].<p>[1]: https://www.in-ulm.de/~mascheck/bourne/v4/<p>[2]: https://www.in-ulm.de/~mascheck/bourne/v3/
Interesting that both | and ^ were supported, but | took over and ^ is still unused by the shell.<p>I wonder if ^ was deprecated because of the likelihood it'd be commonly used at the start of a regexp for grep, but | used to provide alternatives in a regexp was probably much less frequently used and so having to quote is was less of a problem than for ^.<p>Also interesting that the v3 format had both input and output filters, which is just semantic repositioning of the commands.