-1

我在下面的示例文件中有超过 1000 个条目。我想提取会话ID。样本输出应该是sessionId="1308130606029610103".

<cdr-data>
    <cdr>
        <networkInfo payer="830459" payerType="0" pdpAddress="2" pdpType="0"
                     ratingGroup="2" redirectionCode="0" requestType="1006"
                     sequenceNumber="12" serviceIdentifier="0"
                     sessionId="1308130606029610103" sgsnAddress=""
                     sgsnMccMnc="" specialLocationClassId="0" spendControlId="0"
                     tariffToken="0" timeZone="" unitType="2"/>

    </cdr>
    <cdr-data>
4

2 回答 2

1

xmlstarlet允许您从命令行运行 XPath 表达式。就像是:

xmlstarlet sel -t -v "/cdr-data/cdr/networkInfo/@sessionId" yourfile.xml
于 2013-08-19T13:46:49.060 回答
1

一个选项是使用grep

grep -Po "sessionId=[^\s]*" filename
于 2013-08-19T13:04:10.693 回答