Сортировать список строк в Bash численно по определенной подстроке - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть список строк, которые, к сожалению, не поддаются сортировке с sort --key=???.

Это строка:

Original                        40.101 s                   40.556 s
User XYZ                         3.389 s                    3.261 s
User XYZ/User ABC                5.342 s                    5.300 s
Somebody else                   32.531 s                   32.154 s
My friend Tony the Pony          5.905 s                    5.639 s
L33t                            27.007 s                   26.893 s
Serial port                      7.871 s                    7.738 s
Unknown user                     2.815 s                    2.700 s

Мне бы хотелосьсортировка по первому номеру, возрастание или убывание не имеет большого значения, хотя было бы здорово узнать решение, которое в принципе может сделать и то, и другое.

Я пытался sort --key=2 <<HERE ... HERE, но неудивительно, что это просто приводит к случайному порядку.

1 Ответ

0 голосов
/ 21 сентября 2018

Если ваш входной файл имеет правильный отступ с пробелом, используйте параметр -k команды sort:

sort -n -k1.30 file

или наоборот:

sort -nr -k1.30 file

1.30означает пропустить 30 первых символов поля номер 1.

Переключатель -n сортирует численно, а не лексикографически.

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