【发布时间】:2020-02-25 09:03:22
【问题描述】:
我有以下文件:
Scheduled jobs
Locale LANG set to the following: "en"
CONMAN:AWSBHU611W Conman could not initialize the HTTP or HTTPS connection.
Workstation Job Stream SchedTime Job State Pr Start Elapse ReturnCode Dependencies
HCPRODNWA #NW_HC_CA_BKP1 0106 02/13 **************************************** HOLD 10(02/13) (03:22)
NW_HC_CA_PREBKUP1B HOLD 10(02/13)(00:01)
NW_HC_CA_SANREPLICATION HOLD 10(02/13)(00:05)ΩNW_HC_CA_PREBKUP1B
NW_HC_CA_PPBACKUP HOLD 10(02/13)(03:17)
NW_HC_CA_SANREPLICATION
NW_HC_CA_GOLDCOPY HOLD 10(02/13)(00:01)
NW_HC_CA_SANREPLICATION
我想删除以 'Workstation Job...' 开头的行之前的所有行
我的 ansible 代码是:
- name: Extract job details
replace:
path: /tmp/tws_jobs
after: '(^Scheduled)'
before: '(^Workstation)'
regexp: '^(.*)$'
replace: ''
但我无法获得所需的输出。相反,我收到以下消息:
"msg": "Pattern for before/after params did not match the given file: (^Scheduled)(?P<subsection>.*?)(^Workstation)"
【问题讨论】:
-
我认为问题在于正则表达式中的
.与新行不匹配。也许试试regexp: '(.|\n)*' -
@Alex,我试过了,但它仍然给出相同的信息
标签: regex ansible regexp-replace ansible-bug