猿问
下载APP

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

<?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的值,赋给变量,后面要用的。

www说
浏览 2017回答 4
4回答

慕仰8121524

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

素胚勾勒不出你

sed -i 's;<id>.*<\/id>;<id>123456-123456<\/id>;g' /home/domain/*.xml不需要楼下的那种重定向,-i就可以直接编辑并保存。一条命令处理目录下的所有文件

holdtom

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

慕的地10843

1sed&nbsp;-nr&nbsp;'/task&nbsp;id/{s/.*<task&nbsp;id="([^"]+)"\sbusiness="([^"]+)".*/\1,\2/;p}'&nbsp;test.xml或者:1awk&nbsp;'/task&nbsp;id/{split($0,a,"(=\")|(\"&nbsp;)");print&nbsp;a[2]","a[4]}'&nbsp;test.xml&nbsp;或者:1sed&nbsp;-n&nbsp;'/task&nbsp;id/{s/"//g;s/^&nbsp;*//;p}'&nbsp;test.xml&nbsp;|&nbsp;awk&nbsp;-F"[=&nbsp;]"&nbsp;'{print&nbsp;$3","$5}'
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答