I have xml in log-files, that looks like:
<ServiceRs>
1
</ServiceRs>
text text text
<ServiceRs>
2
</ServiceRs>
text
So, i need to cut this XML from log file and i'm trying to do this with:
pcregrep -M '<ServiceRs>(\n|.)*</ServiceRs>'
But after this i didn't get two ServiceRs xml's, i got this:
<ServiceRs>
1
</ServiceRs>
text text text
<ServiceRs>
2
</ServiceRs>
I know, that i can modify pattern - (\\n|.)* -> (\\n|.){0, n), but i really don't know how many lines will be in xml.
Can you try
pcregrep -M '<ServiceRs>(\\n|.)*?</ServiceRs>'
?
is for lazy match
It only matches the content between the <ServiceRs>
and </ServiceRs>
and excludes the rest text text...
s
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.