我的 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