Вам не нужно сохранять конвейеры grep
, чтобы генерировать результат, который вы ищете.Awk
немного мощнее, чем grep
в том смысле, что позволяет вам выполнять преобразование текста, который вы сопоставили, что довольно мощно.Таким образом, все, что вам нужно для вашего примера будет
awk '/Path to log files/{match($0,/NODE([^/]+)/,a); printf "Node = NODE%s\n",a[1];next}
/Database is in write suspend state/' file