
我在使用 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
充當{...}
變數名稱的“範圍”。
(附註:在和\
之間切換時要小心字元)。'
"