【发布时间】:2019-10-17 12:05:29
【问题描述】:
我有一个类似于下面的文件。
SITE "A" (id:1,bindings:http/*:80:,net.tcp/808:*,net.pipe/*,state:Stopped)
SITE "B" (id:2,bindings:https/*:344:,net.tcp/325:*,net.pipe/*,state:Started)
SITE "C" (id:3,bindings:http/:80:xyz.domain.com,http/*:80:xyz,http/*:80:seiging,http/*:80:seiging.domain.com,state:Started)
SITE "D" (id:4,bindings:http/:901:,http/*:80:actdaov,state:Started)
SITE "E" (id:5,bindings:https/:443:idu.domain.com,http/*:80:idu.domain.com,state:Started)
我想提取以下内容。
"A,id:1,",
"B,id:2,",
"C,id:3,http/:80:seiging.domain.com",
"D,id:4,",
"E,id:5,http/:80:idu.domain.com",
第三个字段 - 如果 domain.com 存在,我需要提取它,否则它应该是空白的。如果存在多个 domain.com,那么我需要使用最后一个。
我尝试如下:
set_fact: inv_op="{{ item | regex_replace('SITE \\\"(.*)\\\" \((.*)\,bindings(.*)\,state.*', '\\1,\\2,\\3') }}"
输出如下:
"A,id:1,:http/:80:,net.tcp/808:,net.pipe/",
"B,id:2,:https/:344:,net.tcp/325:,net.pipe/", "C,id:3,:http/:80:xyz.domain.com,http/:80:xyz,http/:80:seiging,http/:80:seiging。 domain.com",
"D,id:4,:http/:901:,http/:80:actdaov",
"E,id:5,:https/:443:idu.domain.com,http/*:80:idu.domain.com",
请指教
【问题讨论】: