Обратный порядок сортировки многоколоночного файла в BASH - программирование

Обратный порядок сортировки многоколоночного файла в BASH

У меня есть следующий файл:

1 2 3
1 4 5
1 6 7
2 3 5
5 2 1

и я хочу, чтобы файл сортировался для второго столбца, но от самого большого числа (в данном случае 6) до наименьшего. Я пробовал с помощью

sort +1 -2 file.dat

но он дает мне обратный порядок.

Результаты должны быть:

1 6 7
1 4 5
2 3 5
5 2 1
1 2 3
4b9b3361

Ответ 1

sort -nrk 2,2

делает трюк.

n для числовой сортировки, r для обратного порядка и k 2,2 для второго столбца.

Ответ 3

Как упоминалось, большинство версий sort имеют параметр -r, если вы не пытаетесь использовать tac:

$ sort -nk 2,2 file.dat | tac 
1 6 7
1 4 5
2 3 5
5 2 1
1 2 3

$ sort -nrk 2,2 file.dat 
1 6 7
1 4 5
2 3 5
5 2 1
1 2 3

tac - объединить и распечатать файлы в обратном