Ответ 1
sort -nrk 2,2
делает трюк.
n для числовой сортировки, r для обратного порядка и k 2,2 для второго столбца.
У меня есть следующий файл:
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
sort -nrk 2,2
делает трюк.
n для числовой сортировки, r для обратного порядка и k 2,2 для второго столбца.
Вы пробовали -r? Из справочная страница:
-r, --reverse
reverse the result of comparisons
Как упоминалось, большинство версий 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 - объединить и распечатать файлы в обратном