为了账号安全,请及时绑定邮箱和手机立即绑定

shell脚本 怎么获取xml内容的标签属性值?

shell脚本 怎么获取xml内容的标签属性值?

www说 2019-04-02 15:11:30
<?xml version="1.0" encoding="UTF-8"?><api xmlns="http://ws.apache.org/ns/synapse" name="provider--appa" context="/apraa" version="1.0.0" version-type="url"><resource methods="DELETE POST PUT GET" url-mapping="/*">......我想获取api标签内的name的值和context的值和version的值,赋给变量,后面要用的。
查看完整描述

4 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

a=`awk '{for(i=1;i<=NF;i++)printf $i"\n";printf "\n"}' aa | grep "name=" |awk -F= '{print $2}'`;echo $a
b=`awk '{for(i=1;i<=NF;i++)printf $i"\n";printf "\n"}' aa | grep "context=" |awk -F= '{print $2}'`;echo $b
c=`awk '{for(i=1;i<=NF;i++)printf $i"\n";printf "\n"}' aa | grep "version=" |awk -F= '{print $2}'`;echo $c
这里有两个version

查看完整回答
反对 回复 2019-04-09
?
慕的地10843

TA贡献1785条经验 获得超8个赞

1sed -nr '/task id/{s/.*<task id="([^"]+)"\sbusiness="([^"]+)".*/\1,\2/;p}' test.xml

或者:

1awk '/task id/{split($0,a,"(=\")|(\" )");print a[2]","a[4]}' test.xml

 或者:

1sed -n '/task id/{s/"//g;s/^ *//;p}' test.xml | awk -F"[= ]" '{print $3","$5}'


查看完整回答
反对 回复 2019-04-09
  • 4 回答
  • 0 关注
  • 4018 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信