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

时间:2015-11-25 13:05:57

标签: linux ansible ansible-playbook

我正在尝试确保从文件中删除除少数特定行之外的所有行。我可以在那里完成以下任务。

- 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但是到目前为止我还没有成功。

1 个答案:

答案 0 :(得分:1)

如果您只想在文件中使用特定行,为什么不将具有所需行的文件传输到远程服务器?您可以使用copy模块按原样传输该文件,或使用template模块动态替换内部甚至assemble模块中的某些变量,以从某些片段(例如config)生成文件。 / p>