我正在努力使用 sed 进行多行搜索/替换。该文件是默认的 apache vhost:
<VirtualHost *:80>
...
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
...
</VirtualHost>
我想要的是将 AllowOverride None 替换为 AllowOverride All。我想出的 sed 命令是:
sed -r -i 's/(Directory \/var\/www\/>[^<]*AllowOverride) All/$1
None/gm' /etc/apache2/sites-available/default
正则表达式根据我的测试工作正常,但不适用于 sed。你知道我在这里做错了什么吗?
谢谢