Wol*_*ske 5 python regex ansible ansible-playbook
我将目录/子目录列表传递到剧本中,如下所示:
dirs=['Web\this','Web\that','Web']
Run Code Online (Sandbox Code Playgroud)
当我实际在这些目录上执行任务时(win_shell,调用构建过程),这工作得很好,但后来我需要复制文件,并且“\”在用作文件名的一部分时不起作用。我有兴趣使用以下内容,因此我将获取大多数构建的模块名称以及根文件夹中的“Web”:
dirs[1].split('\\')[-1]
Run Code Online (Sandbox Code Playgroud)
我希望这会分别返回“this”、“that”和“Web”。
但我找不到任何斜杠或正则表达式魔法的组合来分割我的字符串。我在 StackExchange 中发现了大约 5 个接近的问题/答案,但似乎没有一个能做到这一点。
我也尝试过这个与变化
"{{ dirs[1] | regex_replace('\\','-') }}"
Run Code Online (Sandbox Code Playgroud)
使用分隔符声明变量以避免引用和转义炼金术。使用单引号样式;反斜杠'\'
可以自由使用。例如下面的任务
- debug:
msg: "{{ dirs[1].split(separator)[-1] }}"
vars:
separator: '\'
dirs: ['Web\this','Web\that','Web']
Run Code Online (Sandbox Code Playgroud)
给出
msg: that
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13540 次 |
最近记录: |