я хочу добавить 3 строки с помощью команды sed или awk в файле config. xml - PullRequest
0 голосов
/ 07 марта 2020

У меня есть сервер linux centos 7, и я хочу, чтобы ниже строчки файл с именем config. xml с помощью команды sed

<vhostMap>
  <vhost>google</vhost>
  <domain>google.com, www.google.com</domain>
</vhostMap>

Я хочу добавить эти строки после строки 10 в config. xml file

Я хочу добавить это командой centos7, это возможно? я искал и увидел, что это возможно с помощью команды sed или awk

как я могу сделать это с помощью команды sed или awk?

Ответы [ 3 ]

4 голосов
/ 08 марта 2020

GNU sed:

sed '10a <vhostMap>\n  <vhost>google</vhost>\n  <domain>google.com,www.google.com</domain>\n</vhostMap>' config.xml
0 голосов
/ 08 марта 2020

Это может сработать для вас (GNU sed и shell):

cat <<\! | sed '10r /dev/stdin' file
<vhostMap>
  <vhost>google</vhost>
  <domain>google.com, www.google.com</domain>
</vhostMap>
!

Поместите строки, которые будут добавлены, в статью c и добавьте их после строки 10 файла, прочитав их в качестве стандартного через трубу.

0 голосов
/ 08 марта 2020

Почти то же самое с awk:

awk '{ print $0 ; if(NR == 10) printf "<vhostMap>\n  <vhost>google</vhost>\n  <domain>google.com, www.google.com</domain>\n</vhostMap>\n" }' config.xml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...