Shell

如何使用 awk 分隔變數並使用 ansible 將其附加到文本文件

  • May 21, 2020

作為 ansible playbook 的額外變數,我得到的是“CHOW_app/timmy_app1/johnn_app3/harper_app4/mona_app5”。這作為單個變數傳遞給劇本。我必須將其分開並以這種格式保存在文本文件中。

REVOKE CHOW app
REVOKE timmy app1
REVOKE johnn app3
REVOKE harper app4 
REVOKE mona app5

我認為使用 awk 命令可以實現。但我不知道這是否可以在 Ansible 劇本本身中完成。有誰知道我們如何使用 awk 將其分離並將其儲存在 Ansible 本身的 txt 文件中。

 - 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('/') }}"

模板/revoke.jinja 文件包含

{% for user in revokes %}
REVOKE {{ user.split('_') | join(' ') }}
{% endfor %}

引用自:https://serverfault.com/questions/1018129