Как сделать естественную сортировку на выходе uniq -c
?
Когда значения count < 10, вывод uniq -c | sort
выглядит нормально:
[email protected]:~/testdir$ echo -e "aaa\nbbb\naa\ncd\nada\naaa\nbbb\naa\nccd\naa" > test.txt
[email protected]:~/testdir$ cat test.txt
aaa
bbb
aa
cd
ada
aaa
bbb
aa
ccd
aa
[email protected]:~/testdir$ cat test.txt | sort | uniq -c | sort
1 ada
1 ccd
1 cd
2 aaa
2 bbb
3 aa
но когда counts > 10 и даже в тысячах/сотнях, сортировка беспорядочна, потому что она сортируется по строкам, а не по натуральной целочисленной сортировке:
[email protected]:~/testdir$ echo -e "aaa\nbbb\naa\nnaa\nnaa\naa\nnaa\nnaa\nnaa\nnaa\nnaa\nnaa\nnaa\nnaa\nnnaa\ncd\nada\naaa\nbbb\naa\nccd\naa" > test.txt
[email protected]:~/testdir$ cat test.txt | sort | uniq -c | sort
10 naa
1 ada
1 ccd
1 cd
1 nnaa
2 aaa
2 bbb
4 aa
Как сделать вывод натурального сорта "uniq -c" в порядке убывания/сокращения?