sed, разделяя переменную (предоставляющую число) из инструкции для вставки текста по определенной строке

У меня возникли проблемы с sed и видят переменную, предоставляющую инструкцию для ввода текста в определенной строке.

вот рабочий код без переменной:

sed -i '1i\NewLineHere\' ~/file/location/here.txt 

Мне нужно изменить число 1 на $ var, но с буквой «i», оставшейся рядом с ней (без пробела), но не рассматриваемой как часть переменной. Я использую «» вместо «», так что sed может видеть переменные правильно, я пробовал бесчисленные разные попытки, и никто не работал. Пример того, как выглядит проблема без какой-либо попытки отключить «i» от переменной, сохраняя ее рядом с ней:

  sed -i "$vari\NewLineHere\" ~/file/location/here.txt 

Заранее благодарим за любые предложения или ответы

One Solution collect form web for “sed, разделяя переменную (предоставляющую число) из инструкции для вставки текста по определенной строке”

Здесь {} цитируется имя переменных. В вашем случае ${var}

Например:

 $ var=100 $ echo $vari $ echo ${var}i 100i 

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

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

  • Удалить конкретный столбец, если он существует в файле CSV
  • Удалите переднюю косую черту с помощью sed
  • Согласование RegEx + удаление дополнительной строки
  • Сопоставление и удаление строк с ~ 100 строк
  • find & sed (поиск и замена)
  • Использование sed (или что-нибудь полезное) для замены строк относительным содержимым
  • Переименование и переупорядочение нескольких имен файлов без переименования
  • Как использовать sed, чтобы заменить все остальное другой строкой, кроме шаблона?
  • Как удалить несколько строк в каждом вхождении в файл?
  • sed для ограничения столбцов до 15 символов
  • Заменить шаблон в файле с содержимым другого файла
  • Linux и Unix - лучшая ОС в мире.