Usando o GNU sed (o BSD sed não adicionará novas linhas após o texto adicionado, a menos que você inclua uma nova linha literal na string adicionada):
sed -e '/\[httpd\]/a\' -e 'secure_rewrites = false;' \
-e '/\[couchdb\]/a\' -e 'delayed_commits = false;' local.ini
Se o arquivo contiver
[httpd]
[couchdb]
inicialmente, o comando sed acima produzirá
[httpd]
secure_rewrites = false;
[couchdb]
delayed_commits = false;
Observe também que o comando a para anexar texto deve ser escrito a\ seguido do texto anexado. O GNU sed está perdoando a omissão do \ .
Como um script sed (funciona em qualquer sed ):
/\[httpd\]/a\
secure_rewrites = false;
/\[couchdb\]/a\
delayed_commits = false;
Isso pode ser usado na linha de comando como uma sequência de script literal sed com cotação única (uma nova linha deve vir após a última linha) ou armazenada separadamente e alimentada em sed usando
$ sed -f script.sed local.ini
Com #!/usr/bin/sed -f , como a primeira linha (assumindo que o caminho para sed está correto), o script pode ser executado diretamente:
$ ./script.sed local.ini