Desculpe, mas vou concordar com @choroba e dizer para você usar uma ferramenta capaz de analisar e escrever yaml. A análise Sed não é o caminho certo. você pode ter recuo diferente, várias linhas finais contínuas. O regexp ficaria muito complicado e você acabaria escrevendo seu próprio analisador Yaml.
Aqui está uma solução em ruby que você pode usar no shell Bash
Você pode usar
sed
intervalos:Os limites do intervalo são
/^ *ssl:/
(início da seção ssl) e/^ *[^:]*:/
(qualquer outra seção).O
s
é o comando de substituição usual.Use uma ferramenta compatível com YAML. Por exemplo, em Perl, você pode
Desculpe, mas vou concordar com @choroba e dizer para você usar uma ferramenta capaz de analisar e escrever yaml. A análise Sed não é o caminho certo. você pode ter recuo diferente, várias linhas finais contínuas. O regexp ficaria muito complicado e você acabaria escrevendo seu próprio analisador Yaml.
Aqui está uma solução em ruby que você pode usar no shell Bash
se você quiser um script de shell que leve dois parâmetros, também é fácil