私のmyfile.confには以下が含まれています。
ServerAlias *.mysite.com
次に変換しようとしています。
ServerAlias *.xxmysite.com
しかし、私は次のようになります。
ServerAlias *.xx.mobilsem.com
areemplazar="ServerAlias *."
reemplazo="ServerAlias *.xx"
sed -i '' -- "s|${areemplazar}|${reemplazo}|g" ./myfile.conf
「ServerAlias*」などのエスケープポイントを使用するとき。 、交換はありません。
私は何が間違っていましたか?
ベストアンサー1
正規表現のメタ文字であるピリオド.
とアスタリスクは、文字通り*
処理するためにエスケープする必要があります。
入力ファイルの例:
$ cat input.txt
ServerAlias *.mysite.com
sed 's/ServerAlias \*\./&xx/' input.txt
ServerAlias *.xxmysite.com