Как я могу найти соответствующий шаблон (хранящийся в переменной) в файле, используя awk?

У меня есть файл журнала, в котором мне нужно проверить, есть ли какие-либо сообщения об ошибках, если они есть, извлечь сообщение об ошибке в другой файл.

Таким образом, у меня может быть файл ошибки для другого файла с разными шаблонами журнала. Итак, как я могу найти соответствующий шаблон, используя переменную?

Как я хочу создать один общий файл .sh для всех файлов журнала. Предположим, у меня есть один файл, в котором я хочу найти шаблон и распечатать его в другом файле $pat1="ERROR MESSAGE" $pat2="RAISE_ERROR_SEEN" . Я хочу, чтобы все строки из файла ч / б этих двух шаблонов.

Использование только переменных.

Попробуй это,

  awk "/""$pat1""/,/""$pat2""/" test.log | grep -v "$pat3" > Error.bk 
  • напечатает контекст между $pat1 и $pat2
  • Поскольку у нас есть пробел в первой переменной, используйте двойные кавычки дважды.

более простым способом:

 grep -e "$pat1\|$pat2" filename > resultfile