Сортировать текстовые строки по заданному полю - PullRequest
3 голосов
/ 08 сентября 2011

Я пытаюсь отсортировать следующие строки текста:

bbb = 4
aaaaaaaa = 1a
c = 3aa
ddddd = 2aaaa

, используя в качестве ключа сортировки значение после '='. Я хотел бы получить:

aaaaaaaa = 1a
ddddd = 2aaaa
c = 3aa
bbb = 4

Обратите внимание, что как первое, так и второе поля могут иметь произвольную длину.

Как видите, сортировка должна: 1) разбивать каждую строку вокруг '=' 2) сортировать второе поле (то есть число после '='), 3) печатать всю строку.

Мне удалось собрать команду awk:

cat lines | awk -F "=" '{print $2 | "sort"}'

но при этом будет напечатано только второе поле, а не вся строка.

Может кто-нибудь мне помочь? Спасибо

1 Ответ

4 голосов
/ 08 сентября 2011

Как насчет:

cat lines | sort -k 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...