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

Действует {...}как «область действия» для имени переменной.

(Примечание: будьте осторожны с \персонажем при переключении между 'и ").

Связанный контент