У меня есть несколько гигабайт логов, и я пытаюсь отследить наихудшее время выполнения данного метода, поэтому я использовал grep для фильтрации строк, которые имеют значение
$ grep "m=a" /var/log/syslog*
Sep 12 05:14:00 host1[716]: 2018-09-12 05:14:00.076 [MessageBroker-2] INF 1 com.acme m=a h_status=success, h_time=51, msg=some message
Sep 11 20:00:00 host1[716]: 2018-09-11 20:00:00.389 [MessageBroker-2] INF 1 com.acme m=a h_status=success, h_time=54, msg=some message
Sep 12 04:42:00 host1[716]: 2018-09-12 04:42:00.682 [MessageBroker-2] INF 1 com.acme m=a h_status=success, h_time=77, msg=some message
Sep 12 05:15:02 host1[716]: 2018-09-12 05:15:02.536 [Test worker ] INF 2 com.acme m=a h_status=success, h_time=8, msg=some message
Теперь я хочу отсортировать этот файл в порядке убывания, чтобы получить строки с самыми высокими значениями поля h_time . Я пытался сделать это с помощью сортировки, но у меня ничего не получилось, потому что я не понимаю, как извлечь значение поля h_time.
Я искал, как использовать пользовательские разделители для идентификации пользовательских полей с помощью сортировки, и обнаружил this и this anwser, безуспешно.
Как я могу отсортировать эти строки в порядке убывания по полю h_time, используя какой-либо инструмент командной строки, используя как можно более простой синтаксис?