[Bash] Анализ log файлов

Компьютеры программирование Linux bash Скрипты

Доброго времени суток. Есть программа которая после отработки записывает в лог файл след информацию:
****project = red2
<много много строк инфы>
ERROR:
<много строк инфы>
****project = white6
<много много строк инфы>
****project = Xen
<много строк инфы>
ERROR:

Задача вот в чем если проект не отработал то в логе будет строка начинающая с ERROR: для удобства диагностики самое важное это строчка с проектом и строчка с ошибкой которая случилась в нем. В идеале если будут на выходе только те проекты где есть ошибки. Но для начала хотелось бы хотя бы фильтровать и на выходе получать строку с проектом и строку с ошибкой. Таких файлов очень много с логами я пробовал
find /log -name *.log -exec grep -f /home/user/mask {} \;
в маске прописывал шаблоны которые нужно было отгрепать но греп работал как cat. По отдельности можно грепнуть проекты и ошибки но тогда не понятно будет какая ошибка в каком проекте и смысл теряется. Можете подсказать как можно реализовать данную задачу?

Примечание:
Спасибо за ответы, вы правы что тут можнои без find обойтись, но это не поможет решить главную задачу. Мне нужно отфилтровать лог файл по 2-ум параметрам
Например из того лога который выше описан мне нужно чтобы на выходе получился такой вывод:
****project = red2
ERROR:
****project = white6
****project = Xen
ERROR:

При этом важно сохранения последовательности.
Ответы:
Чтобы grep показывал файлы, в которых он нашёл нужные строки, нужно отказаться от find который кормит его по одному файлу. Но логи при этом должны быть одного уровня вложенности. Тогда грепать их можно будет по маске вида /log/*/*.log
@Юрий Чудновский,
find . -type f -name '*.log' -print0 | xargs -0 awk '{if ($1 ~ /ERROR/) {print; getline; print $0} else if ($1 ~ /*project/) {print}}'


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.