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

在/home/domain路径下会存放所有domain的xml文件,如domain1.xml,domain2.xml,domain3.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。
展开
 我来答
年忆第散边候1I
2015-06-04 · TA获得超过128个赞
知道小有建树答主
回答量:114
采纳率:83%
帮助的人:69.8万
展开全部

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

追问
谢谢你,我不想新建文件,就在原来的文件上做替换,怎么做呢?
追答
sed -i 's/.*/123456-123456/g' old.xml
拜仁枪手
2015-06-04 · TA获得超过671个赞
知道小有建树答主
回答量:97
采纳率:66%
帮助的人:82.1万
展开全部
sed -i 's;<id>.*<\/id>;<id>123456-123456<\/id>;g' /home/domain/*.xml

不需要楼下的那种重定向,-i就可以直接编辑并保存。一条命令处理目录下的所有文件
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式