У меня есть каталог, полный текстовых файлов с тегами в первой строке, и я хочу получить список тегов и их частоту. Я извлек теги и отсортировал их в большой список; допустим, это выглядит так:
apple
banana
banana
banana
banana
orange
orange
kumquat
pomegranate
pineapple
pineapple
pineapple
Затем я передаю его через uniq -c
чтобы преобразовать его в список с числом:
1 apple
4 banana
2 orange
1 kumquat
1 pomegranate
3 pineapple
Я бы сейчас хотел бы отсортировать его, первым номером в обратном порядке (наибольшее число первых), а затем в алфавитном порядке форвардов. Я пытаюсь сделать это, пропустив через sort -bnr
(игнорируя начальные пробелы, числовую сортировку в обратном порядке), но -r
применяется к буквенной части:
4 banana
3 pineapple
2 orange
1 pomegranate
1 kumquat
1 apple
Я думал об опции -k
для сортировки по нескольким полям, о которой я только что узнал на днях, но похоже, что обращение нельзя применить отдельно для разных опций -k
(возможно, это просто выводит результат через tac
или что-то в этом роде). ?). Передача через второй sort
не работает, потому что он игнорирует предыдущий и снова смешивает числовую часть.
В идеале решение все равно будет использовать sort
и uniq
, но я открыт для переключения на другой инструмент, если это необходимо. Однако это может закончиться сценарием, поэтому решение, требующее интерактивных инструментов, отсутствует.