用shell处理xml文件,并输出内容

有一个文件test.xml,主要内容如下:.................................TIME="2015-08-18T11:30:00.000+0... 有一个文件test.xml,主要内容如下:
.................................
TIME="2015-08-18T11:30:00.000+08:00:00"
.....................................
<地址><!省会[城市[安徽/合肥]]></地址>
<类型><环境="PM2.5>
<大颗粒>100</大颗粒>
<小颗粒>50</小颗粒>
</类型>
.......................
<地址><!省会[城市[江苏/淮安]]></地址>
........(文件结构和上面相同)

想把这个文件输出成下面格式:
2015-08-18T11:30 PM2.5 安徽/合肥 100 50
2015-08-18T11:30 PM2.5 江苏/淮安 300 80
.........
展开
 我来答
yss624_
2015-08-18 · TA获得超过4.7万个赞
知道大有可为答主
回答量:9775
采纳率:77%
帮助的人:2576万
展开全部

勉强给搞了一个:

#!/bin/bash

TIME=`grep -m1 'TIME' test.xml | sed -r -n 's/TIME=.([^:]*:[^:]*):.*$/\1/p'`

awk -v RS='</类型>' -v t=$TIME  '{print t" " gensub(/^.*城市\[([^]]*)\].*(PM2.5)[^0-9]*([0-9]+)[^0-9]*([0-9]+).*$/,"\\1 \\2 \\3 \\4","g")}' test.xml



追问
有邮箱吗?想继续讨论下这个思路
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式