Я пытаюсь автоматизировать настройку Ubuntu Vagrant с помощью скрипта Bash. Все хорошо, но у меня возникают трудности с настройкой Apache для разрешения переопределений из файлов .htaccess
. В моем конфигурационном файле есть следующий блок:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Все, что мне нужно сделать, это заменить AllowOverride None
на AllowOverride all
. Похоже, это задача для sed
, но в этом файле конфигурации есть другие блоки <Directory>
где я не хочу разрешать переопределение.
Как я могу использовать sed, чтобы заменить определенную строку новой строкой, когда эта конкретная строка встречается между двумя другими конкретными строками?
Другими словами, как я могу заменить AllowOverride None
только если он находится между <Directory /var/www/>
и </Directory>
?
Я могу использовать следующую команду, чтобы получить интересующий меня блок:
sed -n '/<Directory \/var\/www\/>/,/<\/Directory>/p' 000-default