0

实际上我有一个 XML 文件。下面是文件的内容。

<charge_amt>1.90</charge_amt>

<charge_amt>-89</charge_amt>

我想分开费用(1.90)并检查它是否为负数。如果是非负数,则用 0 代替电荷。

输出 :

<charge_amt>0</charge_amt>

<charge_amt>-89</charge_amt>

请帮助我。

4

1 回答 1

0

尝试sed

sed -e 's@<charge_amt>[^-][^<]*</charge_amt>@<charge_amt>0</charge_amt>@g' < file > newfile

请注意,如果文本中有空格、charge_amt节点上的属性或任何其他有趣的事情,这将不会很好。所以对此要非常小心,并在出现问题的第一个迹象时使用真正的 XML 解析器。

于 2013-02-16T08:07:34.407 回答