我在使用 sed 时遇到一些问题,并看到一个变量提供了在特定行插入文本的数字指令。
这是没有变量的工作代码:
sed -i '1i\NewLineHere\' ~/file/location/here.txt
我需要将数字 1 更改为 $var,但字母“i”保留在其旁边(无空格),同时不被视为变量的一部分。我使用“”而不是“”,以便 sed 可以正确地看到变量,我尝试了无数不同的尝试,但都没有成功。问题的示例,无需尝试断开“i”与变量的连接,同时将其保留在变量旁边:
sed -i "$vari\NewLineHere\" ~/file/location/here.txt
预先感谢您的任何建议或答案
答案1
这就是{}
引用变量名的有用之处。就你而言,${var}
例如:
$ var=100
$ echo $vari
$ echo ${var}i
100i
充当{...}
变量名称的“范围”。
(旁注:在和\
之间切换时要小心字符)。'
"