Saya mencoba untuk mengotomatiskan penyediaan kotak Ubuntu Vagrant dengan skrip Bash. Semua baik-baik saja, tetapi saya mengalami kesulitan dengan mengkonfigurasi Apache untuk memungkinkan penggantian dari .htaccess
file. Di file konfigurasi saya, ada blok berikut:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Yang perlu saya lakukan hanyalah mengganti AllowOverride None
dengan AllowOverride all
. Ini tampaknya menjadi tugas untuk sed
, tapi ada yang lain <Directory>
blok dalam file konfigurasi ini di mana saya tidak ingin mengizinkan override.
Bagaimana saya bisa menggunakan sed untuk mengganti string tertentu dengan string baru, ketika string tertentu terjadi antara dua string spesifik lainnya?
Dengan kata lain, bagaimana saya bisa mengganti AllowOverride None
hanya ketika muncul di antara <Directory /var/www/>
dan </Directory>
?
Saya dapat menggunakan perintah berikut untuk mendapatkan blok yang saya minati:
sed -n '/<Directory \/var\/www\/>/,/<\/Directory>/p' 000-default