我试图在sed的文件中设置一个ip。我在执行这个命令
sed -i 's:$dbserver='':$dbserver='10.0.0.2':' t.conf
但当我看t.conf时,行是
$dbserver=10.0.0.2''
有人知道为什么这两个单引号出现在行尾吗?
我在运行debian linux

最佳答案

您需要将第二个sed参数用双引号括起来:

sed -i "s:$dbserver='':$dbserver='10.0.0.2':" t.conf

这样,在传递给$dbserver之前,sed将被其值替换,并且单引号不需要转义。
如果希望$dbserver在conf文件中按字面意思显示,请在美元符号前面加上反斜杠。

关于linux - sed出现在错误的位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7244716/

10-10 04:04