Unix / Linux: сортировка по числам после запятой

#linux #sorting #unix

#linux #сортировка #unix

Вопрос:

Я не очень разбираюсь в Linux / Unix, и у меня есть файл данных, каждая строка которого соответствует синтаксису

 [name of a crime that was committed],[numberOfOccurences]
  

Например, вот некоторые строки файла:

 Partial 311,2
Carjacking Att,1
Rtr,1
Loiters,4
459 Susp Poss,2
Boat,6
Dog Attack,10
  

Я хочу отсортировать файл в порядке убывания по числам, которые следуют за запятой. Я не знаю количество цифр, которые следуют за запятой. Я знаю, что буду использовать команду «сортировать» с -r для убывания порядка, но может кто-нибудь сказать мне точную команду для использования?

Заранее спасибо!

Ответ №1:

Для сортировки в порядке убывания: sort -t, -k2,2rn input-file

-t, Указывает сортировке, что поля разделены запятыми. -k2,2 Указать sort для сортировки, начинающейся с поля 2 и заканчивающейся на поле 2. -r изменяет порядок для этого ключа сортировки, и -n сообщает sort, что поле должно быть упорядочено численно (в отличие от лексикографического)