使用grep解析日志文件

使用grep解析日志文件,grep,Grep,我有一个日志文件,需要对其进行解析以获得三个值: RSSUrl、RSSCategory和Url val,我可以分别获得这些值,但我不知道如何将这三个值结合在一起,所以我有每个值的上下文 以下是文件的基本格式: <key id="1" goodness="0" softCached="false" hits="0" creationMillis="1327941760709" creationMillisAgo="-978" lastHitMillisAgo="INF"

我有一个日志文件,需要对其进行解析以获得三个值: RSSUrl、RSSCategory和Url val,我可以分别获得这些值,但我不知道如何将这三个值结合在一起,所以我有每个值的上下文

以下是文件的基本格式:

    <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