我想在搜索特定的字符串或文本后插入/添加一行
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之后
答案 0 :(得分:0)
下面是您要寻找的任务
- 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
答案 1 :(得分:0)
请尝试如下
- name: Test
lineinfile:
path: /tmp/file.txt
line: ' text2\n text3'
regexp: ' text2'
backrefs: yes