0

我有一个 xml 文件,其中包含标签中的数字。前任)

<REC_CNT>25000</REC_CNT>
<REC_CNT>25000</REC_CNT>
<REC_CNT>25000</REC_CNT>
<REC_CNT>11767</REC_CNT>

我需要得到这些数字的总和,同时最终输出必须仍然有标签。

<REC_CNT>86767</REC_CNT>

我已经使用 awk 来删除标签并添加数字,但这不是我想要的。我正在做的是替换,如果我只得到数字,那么替换还将替换该文件中它等于的所有其他数字,而不仅仅是 REC_CNT...任何输入?

4

2 回答 2

2

awk -v FPAT='([A-Z_]+)|([0-9]+)' '{ sum += $2; fname = $1 } END { print "<" fname ">" sum "</" fname ">" }'

这假定您的标签是大写字母或下划线。适当调整正则表达式。

于 2012-05-21T20:37:12.163 回答
0

您应该使用实际的 XML 处理器,而不是一些基于正则表达式的文本处理工具。

于 2012-05-21T21:09:05.687 回答