Ansible win_lineinfile如何附加到行
我试图给一行增加价值,得到奇怪的结果 原始行(可能更改值):Ansible win_lineinfile如何附加到行,ansible,Ansible,我试图给一行增加价值,得到奇怪的结果 原始行(可能更改值): SomeParam=test - name: Add info win_lineinfile: path: file_path backrefs: yes regexp: '(SomeParam=*)' line: '\1,added info' \1,added info SomeParam=test,added info 代码: SomeParam=test - name: Add info
SomeParam=test
- name: Add info
win_lineinfile:
path: file_path
backrefs: yes
regexp: '(SomeParam=*)'
line: '\1,added info'
\1,added info
SomeParam=test,added info
代码:
SomeParam=test
- name: Add info
win_lineinfile:
path: file_path
backrefs: yes
regexp: '(SomeParam=*)'
line: '\1,added info'
\1,added info
SomeParam=test,added info
结果:
SomeParam=test
- name: Add info
win_lineinfile:
path: file_path
backrefs: yes
regexp: '(SomeParam=*)'
line: '\1,added info'
\1,added info
SomeParam=test,added info
预期结果:
SomeParam=test
- name: Add info
win_lineinfile:
path: file_path
backrefs: yes
regexp: '(SomeParam=*)'
line: '\1,added info'
\1,added info
SomeParam=test,added info
这里有两个问题 首先,在Windows版本的
lineinfle
(即win\u lineinfle
)中,您需要使用$1
而不是\1
作为后台参考
其次,正则表达式应该是(SomeParam=.*)
,而不是(SomeParam=*)
——后者将匹配SomeParam
,后跟零个或多个=
符号,而前者将匹配SomeParam=
,后跟零个或多个字符
考虑到上述情况,请尝试以下操作:
- name: Add info
win_lineinfile:
path: file_path
backrefs: yes
regexp: '(SomeParam=.*)'
line: '$1,added info'
这里有两个问题 首先,在Windows版本的
lineinfle
(即win\u lineinfle
)中,您需要使用$1
而不是\1
作为后台参考
其次,正则表达式应该是(SomeParam=.*)
,而不是(SomeParam=*)
——后者将匹配SomeParam
,后跟零个或多个=
符号,而前者将匹配SomeParam=
,后跟零个或多个字符
考虑到上述情况,请尝试以下操作:
- name: Add info
win_lineinfile:
path: file_path
backrefs: yes
regexp: '(SomeParam=.*)'
line: '$1,added info'
非常感谢这很有效:)非常感谢这很有效:)