如何替换ansible中的字符串列表?
How can I replace a list of strings in ansible?
我正在尝试用单个列表项 ["XYZ"]
替换列表 ["ABC","DEF"]
,如下所示,但无法弄清楚逗号 (,) 是否需要转义或者有什么问题此语法中还需要:
- name: replace list of strings
replace:
path: /tmp/file1
backup: yes
regexp: "ABC\",\"DEF"
replace: "XYZ"
当我 运行 这个任务时,它没有按预期进行替换。
我是不是遗漏了什么或者有没有更好的方法在 ansible 中做到这一点?谢谢
将正则表达式放入 single-quoted 字符串。在这种情况下,您不必转义双引号,例如
- name: replace list of strings
replace:
path: /tmp/file1
backup: yes
regexp: '"ABC","DEF"'
replace: '"XYZ"'
给定文件
shell> cat /tmp/file1
["ABC","DEF"]
列表将被替换
shell> cat /tmp/file1
["XYZ"]
我正在尝试用单个列表项 ["XYZ"]
替换列表 ["ABC","DEF"]
,如下所示,但无法弄清楚逗号 (,) 是否需要转义或者有什么问题此语法中还需要:
- name: replace list of strings
replace:
path: /tmp/file1
backup: yes
regexp: "ABC\",\"DEF"
replace: "XYZ"
当我 运行 这个任务时,它没有按预期进行替换。
我是不是遗漏了什么或者有没有更好的方法在 ansible 中做到这一点?谢谢
将正则表达式放入 single-quoted 字符串。在这种情况下,您不必转义双引号,例如
- name: replace list of strings
replace:
path: /tmp/file1
backup: yes
regexp: '"ABC","DEF"'
replace: '"XYZ"'
给定文件
shell> cat /tmp/file1
["ABC","DEF"]
列表将被替换
shell> cat /tmp/file1
["XYZ"]