การใช้ sed เพื่อเปิดใช้งานไฟล์. htaccess ใน Apache config
ฉันกำลังพยายามจัดเตรียมกล่องเก็บข้อมูลของ 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