Большинство строк начинаются с временной метки unix, заключенной в скобки, однако есть сообщения журнала, охватывающие несколько строк (вывод из dig) за который нужно захватить.
Кроме того, следующая строка с отметкой времени после многострочного сообщения не обязательно относится к тому же месяцу. Как в примере ниже.
Код: Выделить всё
1700653509 = Wed 22 Nov 12:45:09 CET 2023
1700798246 = Fri 24 Nov 04:57:26 CET 2023
1701385200 = Fri 1 Dec 00:00:00 CET 2023
Код: Выделить всё
[1700653509] unbound[499:0] debug: module config: "subnetcache validator iterator"
[1700798246] unbound[1506:0] info: incoming scrubbed packet: ;; ->>HEADER> "unbound-$YEAR-$MONTH.log
done;
done
По сути, сейчас мне нужно что-то вроде «Захватить все совпадающие и не -сопоставление строк, пока вы не достигнете первого значения, превышающего MAX».
Я подумал о том, чтобы получить первый и последний совпадающие номера строк и просто использовать их. Но опять же, у меня та же проблема с многострочными сообщениями.
Есть идеи?
Подробнее здесь: https://stackoverflow.com/questions/791 ... until-last