bash脚本用于更新特定记录中的xml字段

时间:2014-06-18 17:35:30

标签: xml bash shell

我是一个新的蜜蜂来编写脚本。

我是xml记录:

 <record name="lteRanRf">
    <key name="fapService" value="1"/>
    <field name="referenceSignalPower" value="-10"/>
    <field name="phyCellId" value="2175"/>
 </record>
 <record name="neighborcell">
    <key name="fapService" value="1"/>
    <field name="referenceSignalPower" value="-10"/>
    <field name="phyCellId" value="2175"/>
 </record>

我只需要在lteRanRf记录中替换phyCellId的值。    任何帮助将不胜感激。

提前致谢。

1 个答案:

答案 0 :(得分:0)

awk命令下方将更改记录phyCellIdlteRanRf字段的值。

$ awk -F'"' -v RS="</record>" 'BEGIN{OFS=FS; ORS=RS;} /lteRanRf/ {$14=1111;}1' file
 <record name="lteRanRf">
    <key name="fapService" value="1"/>
    <field name="referenceSignalPower" value="-10"/>
    <field name="phyCellId" value="1111"/>
 </record>
 <record name="neighborcell">
    <key name="fapService" value="1"/>
    <field name="referenceSignalPower" value="-10"/>
    <field name="phyCellId" value="2175"/>
 </record>

您要更改的值在awk命令中给出(即$14=1111;