win_lineinfile,根据Ansible文档
...找到的要替换的模式;只有找到的最后一行会被替换
有时您要做的就是用另一个字符串替换所有行中所有字符串的实例
- name: replace thin with oci in environment.properties
win_shell: |
(Get-Content "{{file_name}}").replace(':thin:',':oci:') | Set-Content -Path "{{file_name}}" -Encoding Ascii
是的,在很多情况下,模板是更好的选择
在Windows中是否有更好的本机Ansible方法?
答案 0 :(得分:0)
为什么不使用:
win_lineinfile:
path: 'your/path/to/file.ext'
# Line to Search/Match against
regexp: '{{item.From}}'
# Line to Replace with
line: '{{item.To}}'
backrefs: yes
backrefs选项使您可以搜索整个文件。更多信息,请点击https://docs.ansible.com/ansible/2.3/win_lineinfile_module.html