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

{...}変数名の「スコープ」として機能します。

(補足:と\を切り替えるときは文字に注意してください)。'"

関連情報