Você precisa sort
do arquivo de entrada antes de passar para uniq
para tornar as mesmas linhas sequenciais / adjacentes:
sort file.txt | uniq -dc
-c
contará o número de ocorrências de linhas repetidas.
Exemplo:
$ sort file.txt | uniq -dc
3 hello
2 Hi
$ sort file.txt | uniq -dc | sort -k1,1n ## Your expected output
2 Hi
3 hello