Как я могу вставить несколько строк ниже заданной строки в Sed со строкой, содержащей косые черты - PullRequest
0 голосов
/ 10 ноября 2018

Я пытаюсь вставить следующие строки ниже строки в моем файле:

<Test>
  <Document>
    ThisIsATest
  <Document>
</Test>

Строка, которую я хочу вставить ниже: This is a test.

Я могу просто вставить обычный текст с помощью команды sed -i '/test/aThis is new text' test2.txt, и файл будет содержать:

This is a test
This is new text

Трудная часть в том, что я не могу сделать это с многострочным элементом с косой чертой. Есть идеи, как это сделать? Мне не нужно использовать sed или awk; любая другая утилита Linux тоже подойдет.

1 Ответ

0 голосов
/ 10 ноября 2018

Вы можете использовать sed * r -> read a file

Вы сохраняете текст замены нескольких строк в файле, например, xml.txt, вы просто делаете:

sed -i '/test/r xml.txt' file

Вы получите то, что хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...