Com o GNU sed:
sed -i -e '/<Directory "\/var\/www\/html">/,/<\/Directory>/{s/AllowOverride None/AllowOverride All/}' filename
Parece que 'sed' e eu nunca seremos amigos ...
Como posso encontrar e substituir um padrão dentro de um intervalo (dentro de outro padrão)?
Em palavras:
Encontre: AllowOverride None
dentro do intervalo a seguir e substitua-o por AllowOverride All
...
<Directory "/var/www/html">
some text
more text
some comments
AllowOverride None
more text
</Directory>
...
Por favor note (se já não estiver pronto): Isto está relacionado ao httpd.conf, que contém muito mais "módulos", todos terminando com </Directory>
Como este comando é usado dentro de um arquivo yaml, seria ótimo conseguir isso com um one-liner (estou ciente de que os one-liners estão ficando feios muito rápido ...).
Além disso: eu confio em usar sed (requisito, não me pergunte por que - pls:))
Tags text-processing sed