вокруг вашей переменной:

у напечатать полный текст между конкретными словами. Вот мое требование.

«123.log» содержит текст ниже.

EBSPRODSTART
web logic server
Oracle database administration
Linux operating system
EBSPRODEND
Выход должен быть: -
web logic server
Oracle database administration
Linux operating system
Коротко: -

Над словом "EBSPROD" находится имя базы данных. Это значение будет входным аргументом. например

$ DBNAME=EBSPROD
$ echo $DBNAME
EBSPROD
$

Пытаюсь, как показано ниже, но это не печать какого-либо значения.

$ cat 123.log |sed -n '/^$DBNAMESTART$/,/^$DBANEMEND$/p'

Если я передаю значение DBNAME напрямую, я получаю вывод, как показано ниже.

$ cat 123.log |sed -n '/^EBSPRODSTART$/,/^EBSPRODEND$/p'
web logic server
Oracle database administration
Linux operating system
$

Примечание: - DBNAME не будет иметь одинаковое значение каждый раз, когда я выполняю скрипт.

Ответы на вопрос(1)

Ваш ответ на вопрос