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

充當{...}變數名稱的“範圍”。

(附註:在和\之間切換時要小心字元)。'"

相關內容