我得到的 ansible playbook 的额外变量是“CHOW_app/timmy_app1/johnn_app3/harper_app4/mona_app5”。它作为单个变量传递给 playbook。我必须将其分离并保存在这种格式的文本文件中。
REVOKE CHOW app
REVOKE timmy app1
REVOKE johnn app3
REVOKE harper app4
REVOKE mona app5
我认为使用 awk 命令可以实现。但我不知道是否可以在 Ansible playbook 本身中完成此操作。有人知道我们如何使用 awk 将其分离并将其存储在 Ansible 本身的 txt 文件中吗?
答案1
- name: slash delimited template
template:
src: revoke.jinja
# dest is the output file
dest: /tmp/revoke
vars:
# "variable" is the input delimited var
# Split it into a list of users
revokes: "{{ variable.split('/') }}"
templates/revoke.jinja 文件包含
{% for user in revokes %}
REVOKE {{ user.split('_') | join(' ') }}
{% endfor %}