使用grep解析日志文件
我有一个日志文件,需要对其进行解析以获得三个值: RSSUrl、RSSCategory和Url val,我可以分别获得这些值,但我不知道如何将这三个值结合在一起,所以我有每个值的上下文 以下是文件的基本格式:使用grep解析日志文件,grep,Grep,我有一个日志文件,需要对其进行解析以获得三个值: RSSUrl、RSSCategory和Url val,我可以分别获得这些值,但我不知道如何将这三个值结合在一起,所以我有每个值的上下文 以下是文件的基本格式: <key id="1" goodness="0" softCached="false" hits="0" creationMillis="1327941760709" creationMillisAgo="-978" lastHitMillisAgo="INF"
<key id="1" goodness="0" softCached="false" hits="0" creationMillis="1327941760709" creationMillisAgo="-978" lastHitMillisAgo="INF" size="0" numRows="30" cache_type="L2" limit="1" type="data">
<filters>
<filter attr="Community/RSSCategory" value="Jeep"/>
<filter attr="Community/RSSUrl" value="http://blogs.int.automotive.com/getrequest.php?url=http://blogs.automotive.com/"/>
<filter attr="Community/NamespaceLookupCommunity"/>
<filter attr="Krang/NamespaceLookupKrang"/>
</filters>
<params>
<param name="CacheLifeSeconds" value="300"/>
<param name="LIMIT" value="1"/>
<param name="ReturnColumns" value="Title,Url,PublishDate,Description,ImageUrl"/>
<param name="START" value="0"/>
</params>
<returns>
<return attr="Community/RSSResult"/>
</returns>
<orders>
<order attr="Krang/PublishDate" type="DESC"/>
</orders>
<keyString>
[[data,filters=[Community/RSSUrl,Community/NamespaceLookupCommunity,Krang/NamespaceLookupKrang],params=[LIMIT,START],return=[Community/RSSResult],order=[Krang/PublishDate-]],start=0,limit=1]
</keyString>
</key>
<keyend id="1" nowMillis="1327941760713" queryTimeNanos="115132">
<cached type="L1"/><CallContext> <ServerName val="WEB-059" />
<ServerId val="ȯ" />
<PageName val="Default+%2F+Default" />
<ClientIp val="10.1.12.111" />
<Url val="http%3A%2F%2Fwww.automobilemag.com%2Findex.html" />
</CallContext></keyend>
[[data,filters=[Community/RSSUrl,Community/NamespaceLookupCommunity,Krang/NamespaceLookupKrang],params=[LIMIT,START],return=[Community/RSSResult],order=[Krang/PublishDate-],START=0,LIMIT=1]
我试过这个
grep-E'grep-E'\注意。请改用XML解析器。您能提供所需的示例输出吗?我在您的文本中看不到RSS类别?它RSSCategory是一个过滤器,但并不总是如此。我想看到的是,由于这些标记/属性可能在单独的行中(或者根本不在其中),我建议使用XML解析器。@PamKagelOzer如果这是正确答案,请使用勾号标记。
grep -E '\<filter attr\=\"Community\/RSSUrl|\<filter attr\=\"Community\/RSSCategory|\<Url val' a