【发布时间】:2020-03-17 08:48:22
【问题描述】:
我在 ansible playbook 中有一个变量 dir_lst_raw,其值为 list,如下所示:
"dir_lst_raw": [
"/path1/dir1/user",
"/path2/dir2/admin",
"/path3/dir3/user.ansible_backup_2020-03-16",
"/path1/dir1/config.ansible_backup_2020-03-16",
"/path2/dir2/dir3/somefile"
]
我需要删除所有包含.ansible_backup_ 的行并作为list 保存到另一个变量中。
我搜索了正则表达式并试图 不匹配模式与选择过滤器,如下所示:
- set_fact:
dir_lst: "{{ dir_lst_flt_r | select('match','(^.ansible_backup_)+') | list }}"
但新变量 dir_lst 原来是一个空列表。我期待dir_lst 如下:
"dir_lst_raw": [
"/path1/dir1/user",
"/path2/dir2/admin",
"/path2/dir2/dir3/somefile"
]
有人可以建议我如何完成它吗?
【问题讨论】:
标签: regex ansible ninja ansible-filter