在 sed 中展开变量 [英] Expand variables in sed

查看:28
本文介绍了在 sed 中展开变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在 bash 脚本中使用 sed,以便在脚本的任何行号后添加行,并带有一些值对(下面的工作)

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 '14isome_text=some_text' file

但是我需要脚本 bash (sh) 来扩展变量(下面不起作用)

But I need on script bash (sh) for expand variables (below not work)

sed -i.bak '$number_linei$var1=$var2' $var3

推荐答案

只需使用双引号而不是单引号.您还需要使用 {} 正确分隔 number_line 变量并转义 .

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆