Найти текст в файле и вставить текст после него

У меня есть текстовый файл. Текстовый файл содержит содержимое ниже.

ServerName ServerAdmin webmaster@localhost DocumentRoot 

Мне нужно вставить текст www.mydomain.com после ServerName . Есть ли команда для этого?

3 Solutions collect form web for “Найти текст в файле и вставить текст после него”

Использование sed :

 sed 's/^\(ServerName\)$/\1 www.mydomain.com/' file.txt 

Захваченная группа \(ServerName\) используется в шаблоне замены как \1 .

Редактирование файла на месте, с резервным копированием, при условии, что GNU, ssed , busybox или некоторые BSD-реализации sed :

 sed -i.bak 's/^\(ServerName\)$/\1 www.mydomain.com/' file.txt 

Исходный файл будет храниться как file.bak а измененным файлом будет file.txt.bak .

Редактирование на месте, без резервного копирования (только для GNU, ssed или busybox ):

 sed -i 's/^\(ServerName\)$/\1 www.mydomain.com/' file.txt 

(для BSD используйте sed -i '' 's/... ).


Даже короче, без всякой захваченной группы:

 sed -i 's/^ServerName$/& www.mydomain.com/' file.txt 

Здесь & будет заменен на матч.

 sed --in-place 's/ServerName/& www.example.com/' /path/to/apache-vhost.conf 

Используя команду sed substitue:

 sed -i 's/ServerName/ServerName www.mydomain.com/' file.txt 
  • sed для поиска нескольких слов и удаления этих строк
  • Используйте sed для выбора потенциально многострочной записи журнала
  • Чтение номеров из файла управления и извлечение совпадающих номеров строк из файла данных
  • Как удалить последний столбец файла в Linux
  • sed, конвертировать одиночную обратную косую черту в двойную обратную косую черту
  • Как удалить все после определенного шаблона или строки в файле?
  • с sed, как я могу заменить слово в соответствующей строке?
  • grep и sed в конкретных
  • Как удалить строки с пустым первым столбцом?
  • Удаление определенных строк и дубликатов из текстового файла текстового слова 11gb
  • Утверждение awk sed if
  • sed, grep или tr, которая возвращает только латинские символы из файла UTF-8
  • Linux и Unix - лучшая ОС в мире.