我需要注释与模式匹配的行,并在其后添加n行(如果该行的开头已经没有注释符号)。当我需要注释任何包含模式“ reboot”的行时,我会这样做:
- name: Excluding reboot command from script
replace:
path: "{{some_path}}/someshellscript.sh"
regexp: '(^(?!.*#).*reboot.*)'
replace: '#\1'
此任务注释行带有'reboot'和regex的行将与'#reboot'不匹配。 但是,如果我需要在'reboot'后面加上两行,而又还没有注释的话,该怎么办呢?
答案 0 :(得分:1)
只要您可以可靠地预测行的返回值,并且在正则表达式匹配后需要注释的行数不会有差异,则可以使用以下方法:>
- name: Excluding reboot command from script
replace:
path: "{{some_path}}/someshellscript.sh"
regexp: '(^(?!.*#).*reboot.*\n)(.*\n)(.*)'
replace: '#\1#\2#\3'