- name: Cassandra cassandra.yaml
lineinfile:
dest: "{{ home}}/conf/cassandra.yaml"
state: present
regexp: "{{ item.regexp }}"
line: "{{ item.line }}"
# backup: yes
with_items:
- { regexp: "data_file_directories:", line: "data_file_directories: \n - {{ data_directory }}" }
在第一个文件第一次运行它看起来不错,但在第二次运行它继续添加新行。为了第二次运行需要做的事情看起来也不错。
data_file_directories:
- /mount1/data
第二轮
data_file_directories:
- /mount1/data
- /mount1/data
- /mount1/data
我想要一些像
data_file_directories:
- /mount1/data
lineinfile
- 顾名思义 - 是一个模块,用于确保某个行位于目标文件中;不行。
处理多行:
regexp
module与matchgroup和backreference一起使用 - 确切的实现依赖于目标文件中的其他构造,blockinfile
module - 确切的实现依赖于目标文件中的其他构造,template
module。