複数のApacheサーバーのセットアップのスクリプト作成を開始するために、.sedファイルの作成に取り組んでいます。このegrepでうまく機能する.confファイルのデフォルトのウェブマスターの電子メールアドレスと一致するようにsedを取得しようとしています。ただし、sed を使用して試してみると、代わりの検索と置換でエラーは返されませんが、置換も行われません。同じ egrep コマンドをもう一度実行して、これをテストします。
egrep -o '\b[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+(\.[A-Za-z]{2,4})?\b' /home/test/httpd.conf
戻り値
admin@your-domain.com
root@localhost
webmaster@dummy-host.example.com
私が使用しようとしているsedコマンドは
sed -i '/ServerAdmin/ s/\b[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+(\.[A-Za-z]{2,4})?\b/MY_ADMIN_ADDRESS@gmail.com/g' /home/test/httpd.conf
実行後、egrep を再度実行して結果を確認しようとすると、何も置き換えられなかったことを示す同じ 3 つの電子メール アドレスが返されます。