在xmlstarlet中使用SUM时。 我得到指数的结果。
xmlstarlet sel -t -v "sum(VM_POOL/VM/MONITORING/MEMORY)"/tmp/file.xml
3.058237512e+09
如果我使用awk获得总和。我得到所需的数字。
xmlstarlet sel -t -v VM_POOL/VM/MONITORING/MEMORY /tmp/file.xml|awk '{u = u+$1}; END { print u }'
3058237512
如何仅使用xmlstarlet获得这些数字?
样本输入数据
<VM_POOL>
.....
<VM>
<ID>1111</ID>
<MONITORING>
<MEMORY><![CDATA[2153128]]></MEMORY>
</MONITORING>
</VM>
<VM>
<ID>1112</ID>
<MONITORING>
<MEMORY><![CDATA[2153128]]></MEMORY>
</MONITORING>
</VM>
.....
</VM_POOL>