Вот фрагмент файла журнала, в котором содержится большое количество обновлений для задания в базе данных.Я пытаюсь выяснить, сколько времени занимает каждая работа, и найти выбросы.
Я хотел бы придумать сценарий, который собирает первые и последние обновления прогресса (или sqffstatus) для каждого из этих
Достаточно просто заставить RegEx вытащить каждую из строк для каждой работы, но, конечно, я получаю их все, и во многих случаях мы получаем обновления каждые 10 секунд для работы, котораяможет занять пару часов .... усугубляется тем, что многие рабочие места чередуются.Лучшее, что я могу придумать на данный момент, - это вручную запустить скрипт, который повторяет все возможные номера задания и извлекает все записи, а затем я могу выбрать первый и последний для каждого отправленного обновления.
В реальномЖурнал, мы получаем обновления с нескольких разных IP-адресов, но синтаксис /sqff/[num]/progress
остается прежним
Должен быть лучший способ
10.251.210.21 - - [14/Nov/2018:05:17:19 +0000] "PUT //10.251.210.21:8080/fileflowqueue/ffq/sqff/22/sqffstatus HTTP/1.1" 200 514
10.251.210.21 - - [14/Nov/2018:05:17:23 +0000] "POST //10.251.210.21:8080/fileflowqueue/ffq/sqff/acquire_next HTTP/1.1" 204 0
10.251.210.21 - - [14/Nov/2018:05:17:24 +0000] "PUT //10.251.210.21:8080/fileflowqueue/ffq/sqff/22/progress HTTP/1.1" 200 562
10.251.210.21 - - [14/Nov/2018:05:17:24 +0000] "PUT //10.251.210.21:8080/fileflowqueue/ffq/sqff/22/sqffstatus HTTP/1.1" 200 514
10.251.210.21 - - [14/Nov/2018:05:17:28 +0000] "POST //10.251.210.21:8080/fileflowqueue/ffq/sqff/acquire_next HTTP/1.1" 204 0
10.251.210.21 - - [14/Nov/2018:05:17:29 +0000] "PUT //10.251.210.21:8080/fileflowqueue/ffq/sqff/22/progress HTTP/1.1" 200 562
10.251.210.21 - - [14/Nov/2018:05:17:29 +0000] "PUT //10.251.210.21:8080/fileflowqueue/ffq/sqff/22/sqffstatus HTTP/1.1" 200 514
10.251.210.21 - - [14/Nov/2018:05:17:33 +0000] "POST //10.251.210.21:8080/fileflowqueue/ffq/sqff/acquire_next HTTP/1.1" 204 0
10.251.210.21 - - [14/Nov/2018:05:17:34 +0000] "PUT //10.251.210.21:8080/fileflowqueue/ffq/sqff/22/progress HTTP/1.1" 200 562
10.251.210.21 - - [14/Nov/2018:05:17:34 +0000] "PUT //10.251.210.21:8080/fileflowqueue/ffq/sqff/22/sqffstatus HTTP/1.1" 200 514
10.251.210.21 - - [14/Nov/2018:05:17:38 +0000] "POST //10.251.210.21:8080/fileflowqueue/ffq/sqff/acquire_next HTTP/1.1" 204 0
10.251.210.21 - - [14/Nov/2018:05:17:43 +0000] "POST //10.251.210.21:8080/fileflowqueue/ffq/sqff/acquire_next HTTP/1.1" 204 0
10.251.210.21 - - [14/Nov/2018:05:17:48 +0000] "POST //10.251.210.21:8080/fileflowqueue/ffq/sqff/acquire_next HTTP/1.1" 204 0
10.251.210.21 - - [14/Nov/2018:05:17:53 +0000] "POST //10.251.210.21:8080/fileflowqueue/ffq/sqff/acquire_next HTTP/1.1" 204 0
10.251.210.21 - - [14/Nov/2018:05:17:58 +0000] "POST //10.251.210.21:8080/fileflowqueue/ffq/sqff/acquire_next HTTP/1.1" 204 0
10.251.210.21 - - [14/Nov/2018:05:18:03 +0000] "POST //10.251.210.21:8080/fileflowqueue/ffq/sqff/acquire_next HTTP/1.1" 204 0
10.251.210.21 - - [14/Nov/2018:05:18:04 +0000] "PUT //10.251.210.21:8080/fileflowqueue/ffq/sqff/22/progress HTTP/1.1" 200 562
10.251.210.21 - - [14/Nov/2018:05:18:04 +0000] "PUT //10.251.210.21:8080/fileflowqueue/ffq/sqff/22/sqffstatus HTTP/1.1" 200 514
Любые мысли о том, как я могусделать это с помощью awk / grep?