Страница 1 из 1

Парсинг логов Xorg.*.log

Добавлено: 25 сен 2013, 20:03
FLEXO_187
Короче,нелегкая вынудила писать мне парсер на perl.Вообщем задача такова,даны файлы логов Xorg.*.log в линуксе. Там в начале указаны идентификаторы (по типу -- ++ == и тд). Часть строк начинается с даты потом идет идентификатор и тд. Так вот,мне нужно поочередно считывать файлы,в каждом мне нужно выцеплять заголовок(до первой строки с датой) в отдельный файл (uncategorized.txt например),далее строку с датой нужно поместить в файл в соответствии с идентификатором(например строку с идентификатором -- поместить в файл --CATEGORY.TXT).Если после строки с датой идет строка без даты то она записывается в тот же файл что и предыдущая.И так нужно проделать с каждым логом.Так вот в perle я особо не разбираюсь,но примерный алгоритм вроде как понял,короче:
1)Через командную строку передать скрипту все файлы Xorg.*.log
2)Поочередно открывать каждый файл
3)С помощью регулярного выражения выцепить заголовок до первой строки,начинающейся с даты,в файл uncategorized.txt
4)Считывать строку,с помощью регулярки проверять есть ли дата в начале,затем проверить какой идентификатор в ней записан,и в соответствии с ним поместить в соответствующий файл(например строку с идентификатором -- в файл --CATEGORY.TXT.Если строка без даты,то поместить в тот же файл,что и предыдущую строку.


В принципе код весь не нужен,нужны самые основные моменты:передача скрипту всех логов,регулярка для выцепления заголовка,ну и регулярка для определения идентификатора,а уж остальноке сам намучу.Заранее спасибо за помощь

Re: Парсинг логов Xorg.*.log

Добавлено: 26 сен 2013, 11:47
Хыиуду
В Перле не разбираюсь, но регулярку могу написать. Дайте пример текста и того, что нужно выцепить.