如何使用 awk 分离变量并使用 ansible 将其附加到文本文件

如何使用 awk 分离变量并使用 ansible 将其附加到文本文件

我得到的 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 %}

相关内容