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; }'
Другие вопросы по тегам