如何使用Ansible在比赛后立即插入一行?

时间:2019-01-16 07:04:13

标签: ansible

我正在尝试在2行匹配之后插入一行。

- name : Update compute node under  ipsec group
  lineinfile:
    backup: yes
    state: present
    path: /root/multinode
    insertafter: '\[ipsec:children\]'
    line: "hostname"

文件:

[ipsec:children]
control

结果:

[ipsec:children]
hostname
control

所需结果:

[ipsec:children]
control
hostname

基本上我想在比赛之后插入1行,而不是在下一行。

请让我知道该怎么做。

1 个答案:

答案 0 :(得分:0)

一种选择是使用blockinfile(请参见下面的示例)或template。模块lineinfile最适合非结构化数据。

  

这仅在您只想更改文件中的一行时非常有用。 ...如果要插入/更新/删除文件中的一行代码,请检查blockinfile。对于其他情况,请参见复制或模板模块。

servername=ManagedSvr1 ./t.sh env1
ssh weblogic@hostname1 tailf /app/Oracle/Middleware/domains/dq/servers/ManagedSvr1/logs/ManagedSvr1.log