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; }'