【发布时间】:2020-09-09 17:04:56
【问题描述】:
我正在尝试在使用 Ansible 中的 basename 从其路径中获取文件名后修改文件名, 我成功地从名称中删除扩展名,但无法实现下一个目标
路径:/bin/data/xyzzz_no_db_20.9.1-82.tgz
(即:xyzzz_no_db_20.9.1-82.tgz => xyzzz_no_db_20.9.1-82 => xyzzz_no_db:20.9.1-82。(预期最终结果)
基本上,需要将最后出现的 (_)(下划线) 替换为 (:)(coln),并使用下面提到的代码尝试相同,它们必须进行一些修改。
提前致谢。
- name: Modify image name
set_fact:
imagename: " {{ latest_file.path | basename | regex_replace('.tgz', '') | regex_replace('/^[^_^_]*[0-9]/',':')}}"
【问题讨论】:
-
感谢@WiktorStribiżew 它按要求工作.. :)