【发布时间】:2020-04-24 17:08:18
【问题描述】:
我希望在 file1.txt 中添加一行“Hi There”,如果它已经不存在,我会找到以 Directory 标签开头的行。
我的 file1.txt 中有多个目录标签条目,其中一些如下:
<Directory "/web/htdocs">
<Directory />
.....
.....
<Directory "/web/cgi-bin">
使用下面的代码,我只能在最后一个目录标记条目之后添加“Hi There”行。
- name: Insert After string
replace:
path: "/tmp/file1.txt"
state: present
line: 'Hi There'
insertafter: '^<Directory '
结果:
<Directory "/web/cgi-bin">
Hi There
但是,我希望在每个/所有目录条目的下一行获得“Hi There”。
我了解“替换”模块会替换找到的所有事件。但是,我有限的知识表明替换模块需要替换字符串。
我的要求不是替换任何东西,而是在找到每个目录标记出现后插入一行。
【问题讨论】:
-
把它想象成用增强版替换目录标签,它具有原始标签、新行字符和要插入的短语。
-
我可以阻止相同的文件,但是当您看到目录标签具有不同的值时,我们如何在替换行中包含该目录标签?我不确定如何完成。