I've used *nix for ~15 years and never used a named pipe or process substitution before. Great to know about!
Named pipes have been rare for me, but simple process substitution is every day. Very often I do something like this in quick succession. Command line editing makes this trivial. $ find . -name "*blarg*.cpp" # Some output that looks like what I'm looking for. # Run the same find again in a process, and grep for something. $ grep -i "blooey" $(find . -name "*blarg*.cpp") # Yep, those are the files I'm looking for, so…
I'm lazy, so I typically do this (2nd step) to avoid the extra key strokes necessary for editing:
$ grep -i "blooey" $(!!)
Also very useful for avoiding editing in order to do something else with the same argument as in the previous command: !$, i.e.: $ foo myfile
$ bla !$