Seu uso de tr
é inteligente. Mas você precisa sort
antes de usar uniq
, porque uniq
apenas analisa linhas adjacentes. Então nós temos
cat file.txt | sort | uniq -c | sort -r | awk '{print $2, $1}' | head -n 10
Além disso, como você pode ver, o uso de -k
e -n
para classificação é desnecessário neste caso (embora não esteja errado).