Как я могу выполнить поиск (grep) одновременно по двум строкам?

Как настроить вывод так, чтобы текст "mk_on_imr" был в первой строке, а "iMR not found" - во второй? Вот пример задачи: 
<blockquote>Tue, 23 Apr 2024 13:03:38 +0300 INFO request: mk_on_imr, app_version: ru., device_version [133, 124, 66, 205] }<br/>
Tue, 23 Apr 2024 13:03:38 +0300 WARN iMR not found</blockquote>
  • 23 апреля 2024 г. 11:50
Ответы на вопрос 2
Для выполнения поиска одновременно по двум строкам можно воспользоваться следующей командой:

```bash
grep -A1 "mk_on_imr" filename | grep "iMR not found"
```

Эта команда сначала найдет все строки, содержащие "mk_on_imr", затем среди них найдет строку, содержащую "iMR not found".

Чтобы настроить вывод так, чтобы текст "mk_on_imr" был в первой строке, а "iMR not found" - во второй, можно использовать следующую команду:

```bash
grep -A1 "mk_on_imr" filename | grep -B1 "iMR not found"
```

Эта команда сначала найдет все строки, содержащие "mk_on_imr" и добавит следующую строку после нее, затем среди полученных строк найдет строку, содержащую "iMR not found" и добавит предыдущую строку перед ней.
Предполагаю, что вам нужна первая строчка с циферками: 

grep -B1 "iMR not found" | grep mk_on_imr
Похожие вопросы