cel*_*rab 2 python copy ansible ansible-playbook jinja2
我需要合并两个文件,其中没有重复的条目。有什么方法可以通过 ansible 模块实现它吗?例如,我有两个文件 /etc/hosts1 和 /etc/hosts2。我需要一个 /etc/hosts 文件,其中包含 /etc/hosts1 和 /etc/hosts2 中存在的所有条目,并且没有重复的条目。我怎样才能做到这一点。举个例子将不胜感激
- name: Merge two files
assemble:
src: /etc/hosts1
dest: /etc/hosts2
Run Code Online (Sandbox Code Playgroud)
上述汇编模块失败
这有效。它读取所有文件的内容并将生成的行数组减少为唯一值。然后创建一个包含这些行的新文件。
- hosts: localhost
gather_facts: no
vars:
hostsfiles:
- /tmp/hosts1
- /tmp/hosts2
tasks:
- name: read files
command: awk 1 {{ hostsfiles | join(' ') }}
register: hosts_contents
- name: create hosts file
copy:
dest: /tmp/hosts
content: "{{ hosts_contents.stdout_lines | unique |join('\n') }}"
Run Code Online (Sandbox Code Playgroud)
我正在使用awk 1
而不是cat
在源文件末尾添加可能丢失的换行符。
归档时间: |
|
查看次数: |
13936 次 |
最近记录: |