Sugiro usar pv
para contar linhas por meio de um pipe. Com pv você pode passo a passo encontrar o gargalo.
cat data.tsv | pv -lr > /dev/null
cat data.tsv | cut -f1,5,8,12 | pv -lr > /dev/null
cat data.tsv | cut -f1,5,8,12 | sort | pv -lr > /dev/null
cat data.tsv | cut -f1,5,8,12 | sort | uniq -c | pv -lr > /dev/null
...
Exemplo com a saída do pv:
timeout 10 yes | sed 's/yes/foo/' | rev | pv -lr >/dev/null
[ 120k/s]