Я хочу, чтобы grep выполнял поиск двух шаблонов и выводил разные строки контекста для каждого соответствия: например, когда оно соответствует «предупреждению», выводит 1 строку до и 1 строку после - и когда оно соответствует «ошибке», вывод 1строка до и 2 строки после;поэтому я попробовал это:
$ echo -ne "1\n2\n3\n4\nwarning\n5\n6\n7\n8\nerror\n9\n10\n11\n12\n" | grep -e "warning" -A 1 -B 1 -e "error" -B 1 -A 2
4
warning
5
6
--
8
error
9
10
... однако, к сожалению, это не работает - по-видимому, только окончательные аргументы -B
/ -A
выполняются для всех шаблонов.
Кто-нибудь знает, как создать отдельный контекст для каждого шаблона поиска?