My favourite bad example of using grep was from a big enterprise software vendor to kill one of their processes. It looked something like ps -ef| grep SomeDaemon | grep -v grep | grep -v perl | perl -e ' '
Serious question: what would be a better way to do this?
pgrep -l 'reg.*ex" | xargs -L1 do-stuff
or just pkill if the idea is just to send a signal.
To gather particular process metrics, ps can be invoked with process ids (-p), with full control of its output (-o), grep is rarely needed.