httpd.confファイルで、特定の「AllowOverride None」を「AllowOverride All」に置き換えようとしています。
ファイルに同じパターンを持つ複数の行があることを考えると、sedがパターンを置き換えるタイミングを選択する方法がない場合は、複数行のパターンに置き換える必要があると思いました。
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
到着する:
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
1行を次に置き換えます。
sudo sed -i 's|DocumentRoot "/var/www/html"|DocumentRoot "/var/www/html/test"|' /etc/httpd/conf/httpd.conf
しかし、行が2つ以上の場合はどうすればいいのかわかりません。
ありがとう
ベストアンサー1
sed
これを行う方法はいくつかあります。たとえば、c
hange コマンドを使用します。
sed --in-place '/^AllowOverride All/c\
AllowOverride None\n' httpd.conf
または、s
代替を使用する方が良いです。
sed --in-place '/^AllowOverride/s/All/None/'
AllowOverride
後者は、「で始まる行の最初のインスタンスを」All
に置き換えますNone
。