0

我有一个env看起来像的文件

……

LEGACY_DATABASE_SERVER=10.0.0.1
服务器=10.1.1.1

这是我的 sed 命令:

sed -e "s/SERVER=.*/SERVER=$INSTANCE_IP/g;n" $ENV_FILE > $ENV_FILE.tmp && mv $ENV_FILE.tmp $ENV_FILE

问题是它sed也在替换LEGACY_DATABASE_SERVER这不是我想要的。我只想SERVER换。

(LEGACY_DATABASE_SERVER是SERVER的超级字符串,我只想替换SERVER)

我错过了什么?

4

1 回答 1

1

大概,您想确保 sed 知道“SERVER”位于行首:

sed -e "s/^SERVER=.*/SERVER=$INSTANCE_IP/g;n" $ENV_FILE > $ENV_FILE.tmp && mv $ENV_FILE.tmp $ENV_FILE
于 2013-08-15T20:19:34.910 回答