使用 sed 查找并替换文本

使用 sed 查找并替换文本

我正在尝试使用sed找到替换"Host""Europe/London",但它失败了,如下所示:

# sed -i -e 's/"Host"/"Europe/London"/g' /usr/local/php73/lib/php.ini
sed: -e expression #1, char 18: unknown option to `s'

我在这里做错了什么?

答案1

您的替换文本包含/,它sed被视为表达式结束,然后在下一个字符上失败。

将分隔符更改为/模式匹配或其替换文本中未出现的分隔符,或者使用反斜杠转义字符:

s/"Host"/"Europe\/London"/g
s#"Host"#"Europe/London"#g

相关内容