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