我在下面的示例文件中有超过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>
答案 0 :(得分:1)
选项是使用grep
:
grep -Po "sessionId=[^\s]*" filename
答案 1 :(得分:1)
xmlstarlet允许您从命令行运行XPath表达式。类似的东西:
xmlstarlet sel -t -v "/cdr-data/cdr/networkInfo/@sessionId" yourfile.xml