用shell取出xml中的值 100

<?xmlversion="1.0"encoding="GBK"?><rootnum="1"maxid="1"><mac_cloneid="1"cnt="0"><mac_... <?xml version="1.0" encoding="GBK" ?> <root num="1" maxid="1"> <mac_clone id="1" cnt="0"> <mac_clone_apply>1</mac_clone_apply> <mac_str>00:01:02:03:04:05</mac_str> <eth_name>eth2.5</eth_name> </mac_clone> </root># 以上格式,从 <mac_str>00:01:02:03:04:05</mac_str>中, 取出00:01:02:03:04:05 展开
 我来答
百度网友5311d79
推荐于2017-10-15 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3221万
展开全部
awk -v RS="</*mac_str>" 'NR==2{print}' file.xml


将 <mac_str> 和 </mac_str> 都设置为记录分隔符,打印第二条记录。

eexpress
2014-11-07 · TA获得超过884个赞
知道大有可为答主
回答量:1493
采纳率:100%
帮助的人:773万
展开全部
用支持正则的任何命令,把<>部分全部删除就是。最好是perl,因为你需要非贪婪匹配。xsel -o是鼠标选择的内容。

▶ xsel -o|perl -e '$_=<>; s/<.*?>//g; print;'
1 00:01:02:03:04:05 eth2.5 # 以上格式,从 00:01:02:03:04:05
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
banhui
2017-10-15 · 超过23用户采纳过TA的回答
知道答主
回答量:98
采纳率:0%
帮助的人:41.9万
展开全部
mac_str=`cat file.xml |sed -n '/<mac_str>/,/<mac_str>p' | sed 's/<mac_str>//g;s/</mac_str>//g'`
echo $mac_str
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大神在微笑
2014-11-04 · TA获得超过423个赞
知道答主
回答量:257
采纳率:50%
帮助的人:86.7万
展开全部
用jdom,dom4可以吧,shell是什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式