使用sed变量

use*_*277 2 bash sed

首先,我道歉,如果之前已经回答,但我无法解决我的问题.

我需要搜索一个模式,然后用一行包含文本和变量的文本替换它.我正在使用bash ..

$var = "stacko.ver/rulz=" **Note: $var contain double quotes & = & a dot and /**
Run Code Online (Sandbox Code Playgroud)

我希望如此跟随1.搜索;te.xt = 注意:要搜索的值包含; &=和一个点

2.用它替换它

textnum=$var
Run Code Online (Sandbox Code Playgroud)

当然$ var应该用它的实际值替换

我的尝试

sed -i "s/;te.xt =/textnum=$var/" file
sed -i "s/;te.xt =/textnum="$var"/" file
sed -i "s/";te.xt ="/"textnum=$var"/" file
Run Code Online (Sandbox Code Playgroud)

这些都没有实际工作,sed给我一个错误或文件中没有显示$ var的值

谢谢您的帮助

问候

tha*_*guy 5

引用没有帮助,因为这是一个sed问题,而不是bash问题.只需选择一个未出现在文本中的sed s表达式分隔符:

sed -i "s|;te.xt =|textnum=$var|" file
Run Code Online (Sandbox Code Playgroud)

您可以选择任何s未出现在输入中的分隔符.sed -e 'streetlight'是一个完全有效的sed命令.