Awk: разделить файл журнала, начиная с 1-й строки, соответствующей минимальному значению, до последней строки перед превLinux

Ответить Пред. темаСлед. тема
Anonymous
 Awk: разделить файл журнала, начиная с 1-й строки, соответствующей минимальному значению, до последней строки перед прев

Сообщение Anonymous »

У меня есть файл журнала службы, который никогда не менялся. Теперь я хочу разделить этот файл журнала на отдельные файлы, по одному на каждый месяц.
Большинство строк начинаются с временной метки 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»