Вставьте строку перед определенной строкой в ​​файле

Я нашел, как вставить строку после определенной строки в bash

sed -i '/oh-my-zsh.sh/aplugins=(git symfony2)' ~/.zshrc 

Результат:

 source $ZSH/oh-my-zsh.sh plugins=(git symfony2) 

Но я хотел бы вставить свою строку перед source $ZSH/oh-my-zsh.sh .

Как это возможно?

  • Как сравнить два файла по строкам, чтобы проверить, сколько из них перемещено вверх или вниз?
  • Обработка текста - поиск текста до / после заданного слова
  • Как добавить двойные кавычки в каждую строку, а затем добавить запятую в конце строки?
  • Согласование шаблонов и обработка текста для списков файлов песен
  • Печатать содержимое файла с желаемого символа и заканчивать также желаемым символом
  • Я хотел бы заменить шаблон другим шаблоном, найденным в той же строке
  • Извлечь диаграмму соответствия n-й линии и следующие N строк
  • транспонировать наборы из трех строк в столбцы
  • One Solution collect form web for “Вставьте строку перед определенной строкой в ​​файле”

    «A» в «… sh / aplug …» предназначен для «добавить» и помещает новый текст после шаблона поиска. Замените его «i» на «insert», чтобы поместить текст перед шаблоном поиска. Как это:

     sed -i '/oh-my-zsh.sh/iplugins=(git symfony2)' ~/.zshrc' 

    Этот ответ и многое другое можно найти по адресу: Sed – Введение и учебное пособие Брюса Барнетта .

    Linux и Unix - лучшая ОС в мире.