gnu sort/uniq: сортировка по количеству раз

gnu sort/uniq: сортировка по количеству раз

Как можно использовать GNU sortи uniqразместить наиболее часто встречающиеся вхождения наверху вместо числовой или алфавитно-цифровой сортировки? Пример list.txt:

1
2
2
2
3
3

Поскольку «2» встречается 3 раза, оно должно быть сверху, а за ним следуют «3» и «1», вот так:

$ cat list.txt | "some sort/uniq magic combo"
2
3
1

решение1

Так:

cat list.txt | sort | uniq -c | sort -rn

Включает -cколичество каждой уникальной строки, а затем сортирует по этому показателю.

Если вы хотите удалить счетчик после сортировки, сделайте следующее:

cat list.txt | sort | uniq -c | sort -rn | awk '{ print $2; }'

Связанный контент