【发布时间】:2021-03-18 10:55:12
【问题描述】:
我正在使用 ansible 读取一个值并解析它
价值 链接:hdfs:///test/test2
输出应该是:/test/test2
Ansible 不起作用:
- 设置事实: my_var: "{{ 链接 | regex_search('hdfs://'}}" delegate_to: 本地主机
【问题讨论】:
我正在使用 ansible 读取一个值并解析它
价值 链接:hdfs:///test/test2
输出应该是:/test/test2
Ansible 不起作用:
【问题讨论】:
您可以尝试如下方式
hdfs:///test/test2
- name: regex replace
set_fact:
final_var: "{{ basevariable | regex_replace(reg_search, reg_replace) }}"
tags:
- reg-replace
【讨论】:
下面的任务完成了这项工作
- set_fact:
my_var: "{{ link|regex_replace(_regex, _replace) }}"
vars:
_regex: '^(.*)/(.*)/(.*)$'
_replace: '/\2/\3'
给予
my_var: /test/test2
简单的 split&join 也可以。下面的任务给出了相同的结果
- set_fact:
my_var: "/{{ link.split('/')[-2:]|join('/') }}"
【讨论】: