Сортировка файла в алфавитном порядке только по фамилии

Я заинтересован в сортировке текстового файла, в котором есть записи с именем и фамилией в указанном порядке

[Пример]

Джон Доу

Я заинтересован в сортировке списка только по последнему имени. Это работа для sed или awk? Могу ли я изменить sortкоманда сортировать только по второму слову или по имени LAST?

1 ответ

Решение

Просто

sort -k2 < your_file > out_file

-k указать ключ сортировки; по умолчанию номер поля, где поля разделены пробелами.

От man sort:

  -k, --key=KEYDEF
          sort via a key; KEYDEF gives location and type

KEYDEF - это F[.C][OPTS][,F[.C][OPTS]] для начальной и конечной позиции, где F - номер поля, а C - позиция символа в поле; оба являются началом 1, и позиция остановки по умолчанию заканчивается концом строки. Если ни -t, ни -b не действуют, символы в поле считаются с начала предыдущего пробела. OPTS - это одна или несколько опций однобуквенного порядка [bdfgiMhnRrV], которые переопределяют параметры глобального порядка для этого ключа. Если ключ не указан, используйте всю строку в качестве ключа.

Пример:

[romano:~/tmp] % cat test.txt
a a
b c
d r
k a
t 6
[romano:~/tmp] % sort -k2 < test.txt
t 6
a a
k a
b c
d r
Другие вопросы по тегам