关于linux:Unix:XML标记之间的WildCard子字符串搜索

 2021-04-26 

Unix : WildCard SubString Search between XML Tags

我有一个庞大的Web服务请求和响应XML日志文件。
每个Web服务都有一个常见的Request标记,如

所示

1
2
3
4
5
6
<s:Envelope ......Some tags before Request tag <xyzServiceRequest>Request Data   </xyzServiceRequest></s:Body></s:Envelope>


<s:Envelope ....Some more tags before Request tag Request Data  of another service </abcServiceRequest></s:Body></s:Envelope>

<s:Envelope ...Few more tags before request <defServiceRequest xmlns="urn" /> </s:Body></s:Envelope>

使用Unix Commands,我只想从上述数据中提取服务请求名称。

输出应类似于:

xyzServiceRequest

abcServiceRequest

defServiceRequest


使用

1
grep -o '<[^</]*ServiceRequest'    YourLogFile  | sed 's/<//'