删除同一行标签之间的文本

时间:2018-10-12 07:19:17

标签: xml

我从rrd文件中获得了这一行,我需要在其中替换<v></v>之间的内容。

<row><v> 2.0000000000e+02 </v><v> 2.3200000000e+02 </v><v> 2.6600000000e+02 </v></row>

在上一行中,使用显示数字的模式将与以下内容一起使用:

|sed -r "s/<v> [0-9]+\.[0-9]+e\+[0-9]+ <\/v>/ NaN /gI".

我的问题是如何在不知道文本是什么的情况下替换那些标签之间的任何内容(例如,用NaN替换):

<row><v> some text </v><v> .8234 </v><v> FA:DD:AB </v></row>

2 个答案:

答案 0 :(得分:1)

最好使用支持XML的工具。

例如,在xsh中,您应该写

open file.xml ;
for //v set . 'NaN' ;
save :b ;

答案 1 :(得分:1)

同意choroba:您应该始终使用支持XML的工具来处理XML。在XSLT 3.0中,这是

<input type="number">
相关问题