Как вставить текст после определенной строки в файл?

Прямо сейчас я использую echo "Hello World" >> file.txt для добавления некоторого текста в файл, но мне также нужно добавить текст под определенной строкой, скажем, «[option]», возможно ли это с sed ?

НАПРИМЕР:

Входной файл

 Some text Random [option] Some stuff 

Выходной файл

 Some text Random [option] *inserted text* Some stuff 

3 Solutions collect form web for “Как вставить текст после определенной строки в файл?”

Добавить строку после матча

  • sed '/\[option\]/a Hello World' input

Вставить строку перед матчем

  • sed '/\[option\]/i Hello World' input

Кроме того, вы можете взять резервную копию и изменить входной файл на месте с -i.bkp опции -i.bkp для sed

Да, это возможно с sed :

 sed '/pattern/a some text here' filename 

Пример:

 $ cat test foo bar option baz $ sed '/option/a insert text here' test foo bar option insert text here baz $ 

С awk :

 awk '1;/PATTERN/{ print "add one line"; print "\\and one more"}' infile 

Имейте в виду, что некоторые символы не могут быть включены буквально, поэтому нужно использовать escape-последовательности (они начинаются с обратного слэша), например, для печати литеральной обратной косой черты нужно писать \\ .

Это на самом деле то же самое с sed но, кроме того, каждой встроенной новой строке в тексте должно предшествовать обратная косая черта:

 sed '/PATTERN/a\ add one line\ \\and one more' infile 

Для получения дополнительной информации об управляющих последовательностях обратитесь к руководству.

  • Есть ли утверждения о нулевой ширине в sed?
  • Как разобрать этот вывод и поместить его в массив?
  • Почему `sed expr1 | sed expr2` отличается от `sed -e expr1 -e expr2`
  • Извлечение положительных / отрицательных чисел с плавающей запятой из строки
  • Замените регулярное выражение на строку, содержащую совпадение
  • nmap-скрипт, необходимый для вывода текста в формат csv
  • почему этот простой скрипт sed не работал »nginx -V 2> & 1 | sed -r 's / - / \\ n / g' "
  • Создание файла из другого файла на основе числового значения в каждой строке
  • Как заменить несколько букв в многострочном слове, состоящем из цифр и букв в определенном формате?
  • Как сопоставить текст между строкой и пробелом
  • Проверка формата имени файла в оболочке linux
  • Как печатать из разделителя полей ":" до конца строки?
  • Linux и Unix - лучшая ОС в мире.