shell脚本如何替换xml中指定的属性值

在/home/domain路径下会存放所有domain的xml文件,如domain1.xml, domain2.xml, domain3.xml...
每个文件内容大致如下:
<domain>
<name>test_name</name>
<id>23d7ef98-d3fa-489c-186e-6174d95a1ca6</id>
</domain>

怎样将每个xml文件中id里的值替换为我所指定的值,比如下面id那一行变成<id>123456-123456</id>, 注意domain下的每个xml文件id那行都要替换为指定的id。

sed 's/<id>.*<\/id>/<id>123456-123456<\/id>/g' old.xml > new.xml

追问

谢谢你,我不想新建文件,就在原来的文件上做替换,怎么做呢?

追答

sed -i 's/.*/123456-123456/g' old.xml

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-04
sed -i 's;<id>.*<\/id>;<id>123456-123456<\/id>;g' /home/domain/*.xml

不需要楼下的那种重定向,-i就可以直接编辑并保存。一条命令处理目录下的所有文件本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网