sed,将变量(提供数字)与在特定行插入文本的指令分开

sed,将变量(提供数字)与在特定行插入文本的指令分开

我在使用 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

充当{...}变量名称的“范围”。

(旁注:在和\之间切换时要小心字符)。'"

相关内容