如何使用Ansible lineinfile删除除少数特定行以外的所有行



我试图确保从文件中删除除少数特定行外的所有行。我可以完成以下任务。

- name: ensure only the correct lines are present
  lineinfile: dest=/path/to/file
    regexp="pattern1|pattern2[0-9]*|pattern3[0-9]*"
    state=present
    backup=yes

最终,我希望确保pattern1pattern2[0-9]*pattern3[0-9]*是该文件中唯一保留的行。我曾试图想出一个正则表达式来否定这个正则表达式,然后指定state=absent,但到目前为止我还没有成功。

如果您只想要文件中的特定行,为什么不将该文件和您想要的行一起传输到远程服务器?您可以使用复制模块按原样传输该文件,也可以使用模板模块动态替换模块中的一些变量,甚至可以使用汇编模块从一些片段生成文件(如config)。

最新更新