Bash 在ubuntu中用sed替换字符串

Bash 在ubuntu中用sed替换字符串,bash,ubuntu,sed,Bash,Ubuntu,Sed,我有一个具有以下值的配置文件: SITE_URL=http://domain.com 因此,我试图用sed替换development.local.dev,但不确定如何正确地脱离域。尝试了很多类似的东西: sed -i -e 's/SITE_URL=http://domain\.com/SITE_URL=development.local.dev/g' .env 但是继续得到:sed:-e expression#1,char 19:s的未知选项这是因为/被用作正则表达式分隔符,并且在搜索模式中

我有一个具有以下值的配置文件:

SITE_URL=http://domain.com
因此,我试图用sed替换development.local.dev,但不确定如何正确地脱离域。尝试了很多类似的东西:

sed -i -e 's/SITE_URL=http://domain\.com/SITE_URL=development.local.dev/g' .env

但是继续得到:sed:-e expression#1,char 19:s的未知选项

这是因为
/
被用作正则表达式分隔符,并且在搜索模式中也被使用

您可以在
sed
中使用备用分隔符,例如
~

sed '/^SITE_URL=/s~http://domain\.com~development.local.dev~' file
SITE_URL=development.local.dev

这是因为
/
被用作正则表达式分隔符,并且它也用于您的搜索模式中

您可以在
sed
中使用备用分隔符,例如
~

sed '/^SITE_URL=/s~http://domain\.com~development.local.dev~' file
SITE_URL=development.local.dev

这确实有帮助。谢谢这确实有帮助。谢谢