This skips all the commands I pipe through, which excludes over half of the commands I use!
history | sed 's/|/\n1 /' | awk '{print $2}' | sort | uniq -c | sort -rn | head -n 100
Of course this doesn't differentiate between quoted pipes and ones actually being used.Edit:
history | sed -e 's/^ *[0-9]* //' -e 's/| */\n/' | awk '{print $1}' | sort | uniq -c | sort -rn | head -n 100
works for me.