how can extract "failed" element , add them up?
<gateway> <smscs> <count>3</count> <smsc> <id>a</id> <received><sms>0</sms><dlr>0</dlr></received> <sent><sms>10537</sms><dlr>0</dlr></sent> <failed>13</failed> <queued>6272</queued> </smsc> <smsc> <id>b</id> <received><sms>0</sms><dlr>0</dlr></received> <sent><sms>10530</sms><dlr>0</dlr></sent> <failed>10</failed> <queued>6284</queued> </smsc> <smsc> <id>c</id> <received><sms>0</sms><dlr>0</dlr></received> <sent><sms>10679</sms><dlr>0</dlr></sent> <failed>11</failed> <queued>6291</queued> </smsc> </smscs> </gateway>
i used
xmlstarlet sel -t -v "sum(/gateway/smscs/smsc/failed)" -n input.xml which returned
34 the idea use sum() function takes node-set , returns sum of elements' string-values converted numbers.
Comments
Post a Comment