Um comando de edição sed
deve ser finalizado por ;
ou uma nova linha literal. O GNU sed
é muito indulgente com isso.
Seu script:
/foo/{/bar/{;p;}}
Expandido:
/foo/{
/bar/{
p
}
}
Isso funcionaria como um script sed
alimentado para sed
a -f
.
Se nos certificarmos de substituir as novas linhas com ;
(necessário apenas no final dos comandos e {...}
grupos de comandos) para que possamos usá-lo na linha de comando, obtemos
/foo/{/bar/{p;};}
Isso funciona com o OpenBSD sed
(o original não, devido a esse segundo ;
ausente).
Neste caso particular, isso pode ser ainda mais simplificado para
/foo/{/bar/p;}