展开SED变量 [英] Expand variables in sed
本文介绍了展开SED变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要用sed进入bash脚本,脚本的任何线路NUMER后,用一些对数值(下工作)
添加线条 SED -i.bak'14I \\ SOME_TEXT = SOME_TEXT'文件
但我需要的bash脚本(SH),用于扩展变量(下无法正常工作)
SED -i.bak'$ number_linei \\ $ VAR1 = $ VAR2'$ VAR3
解决方案
只需使用双引号来代替单引号。您还需要使用 {}
来正确分隔第NUMBER_LINE
变量,逃离 \\
了。
SED -i.bak$ {} NUMBER_LINE我\\\\ $ VAR1 = $ VAR2$ VAR3
我个人preFER看的所有的的变量使用 {}
,喜欢的东西结束了:
SED -i.bak$ {} NUMBER_LINE我\\\\ $ {VAR1} = $ {} VAR2$ {} VAR3
I need use sed into bash script, for add lines after any line numer of script with some pair of values (below work)
sed -i.bak '14i\some_text=some_text' file
But I need on script bash (sh) for expand variables (below not work)
sed -i.bak '$number_linei\$var1=$var2' $var3
解决方案
Just use double quotes instead of single quotes. You'll also need to use {}
to delimit the number_line
variable correctly and escape the \
, too.
sed -i.bak "${number_line}i\\$var1=$var2" $var3
I'd personally prefer to see all of the variables use the {}
, ending up with something like:
sed -i.bak "${number_line}i\\${var1}=${var2}" ${var3}
这篇关于展开SED变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文