Como imprimir texto entre palavras específicas (como argumentos de entradas) no script de Shell
Quero imprimir texto completo entre palavras específicas. Aqui está o meu requisito.
"123.log" contém o texto abaixo.
EBSPRODSTART
web logic server
Oracle database administration
Linux operating system
EBSPRODEND
A saída deve ser: -web logic server
Oracle database administration
Linux operating system
Breve:-Acima da palavra "EBSPROD" está o nome do banco de dados. Este valor será um argumento de entrada. por exemplo.
$ DBNAME=EBSPROD
$ echo $DBNAME
EBSPROD
$
Estou tentando como abaixo, mas não está imprimindo nenhum valor.
$ cat 123.log |sed -n '/^$DBNAMESTART$/,/^$DBANEMEND$/p'
Se estou passando o valor DBNAME diretamente, estou obtendo a saída como abaixo.
$ cat 123.log |sed -n '/^EBSPRODSTART$/,/^EBSPRODEND$/p'
web logic server
Oracle database administration
Linux operating system
$
Nota: - DBNAME não terá o mesmo valor sempre que eu executar o script.