LINUX.ORG.RU

Вопрос по работе с текстом\логом

 ,


0

2

Доброго времени суток!

сразу к делу: есть лог с кучей полезной информации ~200k строк, кое-что из него надо выпилить; пример:

«какая-то полезная информация»

0: 15:15:15 Error = 0x00; 1: 15:15:16 Error = 0x00; ........................; 50: 15:16:05 Error = 0x00;

«какая-то полезная информация»

Вышло: 0_50 Error_0x00

потом подобные блоки повторяются по всему логу уменьшил лог путем приложения титанических усилий и sed: 1)Замена по шаблону строки на произвольный набор символов 2)Удаление в этих фрагментах символа перехода на новую строку 3)Опять замена по шаблону длинной строки на одно слово

Возможно можно было как-то проще? Можно как-то оставить одно из значений времени, т.е. получить что-то типа: 0_50 Начало:15:15:15 - Error_0x00


Нужно сразу писать структурированные логи, а не парсить человекочитаемый текст.

anonymous
()
Ответ на: комментарий от anonymous

мне какие логи выдали, то я и пытаюсь мучить

Levard
() автор топика
Ответ на: комментарий от Levard

нет, не то, мне нужно оставить одно значение времени из всех 50-ти строчек, а все остальное заменить на что-нибудь 0: 15:15:15 Error = 0x00; 1: 15:15:16 Error = 0x00; .... 50: 15:16:05 Error = 0x00; 0_50 Начало:15:15:15 - Error_0x00

Levard
() автор топика

В info sed есть примеры подсчета символов, слов, строк.

salsa
()
Ответ на: комментарий от zolden

Учитель, я сконцентрирован

До

  • 0: 15:15:15 Error = 0x00
  • 1: 15:15:16 Error = 0x00
  • ........................
  • 50: 15:16:05 Error = 0x00

После

  • 15:15:15 0_50-OK

т.е оставили одно из значений времени, а все остальные 50 строчек убрали

Levard
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.