У меня есть файл журнала, полный запросов, и я хочу видеть только те запросы, которые содержат ошибку.Записи в журнале выглядят примерно так:
path to file executing query
QUERY
SIZE: ...
ROWS: ...
MSG: ...
DURATION: ...
Я хочу напечатать все эти материалы, но только когда MSG:
содержит что-то интересное (сообщение об ошибке).Все, что у меня сейчас есть, это sed -n '/^path to file/,/^DURATION/'
, и я не знаю, куда идти.
Примечание. Запросы часто бывают многострочными, поэтому использование grep -B
, к сожалению, не всегда работает(это то, что я делал до сих пор, просто щедро со значением -B
)
Каким-то образом я хотел бы использовать только sed
, но если мне абсолютно необходимо использовать что-то еще, например awk
Я думаю, это нормально.
Спасибо!