вставка текста после определенного поиска для определенного текста в ANSIBLE - PullRequest
0 голосов
/ 11 июля 2019

Я хочу вставить / добавить строку после поиска конкретной строки или текста


header 1
      text1
      text2

header 2
      text4
      text5

Ожидаемый результат

header 1
      text1
      text2
      text3 

header 2
      text4
      text5

Я пробовал использовать ansible lineinfile, blockinfile, replace, regexp. Мне удалось добавить необходимый текст, но он добавляется в конец файла, как показано ниже

header 1
      text1
      text2


header 2
      text4
      text5

      text3

Я хочу, чтобы он был добавлен точно под header1 и после text2

Ответы [ 2 ]

0 голосов
/ 11 июля 2019

Пожалуйста, попробуйте, как показано ниже

  - name: Test
    lineinfile:
     path: /tmp/file.txt
     line: '      text2\n      text3'
     regexp: '      text2'
     backrefs: yes
0 голосов
/ 11 июля 2019

Ниже приведена задача, которую вы ищете

- lineinfile:
    path: "/tmp/test.txt"
    insertafter: '^\s*text2\s*$'
    line: '      text3'

До

$ cat /tmp/test.txt 
header 1
      text1
      text2

header 2
      text4
      text5

После

$ cat /tmp/test.txt 
header 1
      text1
      text2
      text3

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