免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2658 | 回复: 8
打印 上一主题 下一主题

新手求教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-04 11:31 |只看该作者 |倒序浏览
本帖最后由 lybpyn 于 2011-11-04 12:02 编辑

<measInfo measInfoId="123456789">
            <gudpPeriod duration="asdf" endTime="2011-04-13T17:00:00+08:00"/>
            <roqPeriod duration="TF9000"/>
            <measTypes>10000001 10000002 10000003 10000004 1000005 1000006 10000007 10000008 10000009 </measTypes>
            <measValue measObjLdn="WERTTIKH">
                <measResults>0 0 0 0 0 0 0 0 0 </measResults>
            </measValue>
</measInfo>
<measInfo measInfoId="123456789">
            <gudpPeriod duration="asdf" endTime="2011-04-13T17:00:00+08:00"/>
            <roqPeriod duration="TF9000"/>
            <measTypes>10000001 10000002 10000003 10000004 1000005 1000006 10000007 10000008 10000009 </measTypes>
            <measValue measObjLdn="WERTTIKH">
                <measResults>0 0 0 0 0 0 0 0 0 </measResults>
            </measValue>
</measInfo>
<measInfo measInfoId="123456789">
            <gudpPeriod duration="asdf" endTime="2011-04-13T17:00:00+08:00"/>
            <roqPeriod duration="TF9000"/>
            <measTypes>10000001 10000002 10000003 10000004 1000005 1000006 10000007 10000008 10000009 </measTypes>
            <measValue measObjLdn="WERTTIKH">
                <measResults>0 0 0 0 0 0 0 0 0 </measResults>
            </measValue>
</measInfo>
怎么样将 measInfoId节点的数据取出来并以其命名成.txt文件,同时将measTypes节点和measResults节点的数据保存到刚才命名的.txt文件
就像下面的一样
123456789.txt
内容
10000001 10000002 10000003 10000004 1000005 1000006 10000007 10000008 10000009
0               0               0               0               0             0             0               0               0

论坛徽章:
0
2 [报告]
发表于 2011-11-04 12:17 |只看该作者
有没有谁会的  急需帮助

论坛徽章:
0
3 [报告]
发表于 2011-11-04 13:14 |只看该作者
sed -n -e 's/.*measInfoId="\([0-9]\+\).*/\1/p' -e 's/[ \t]\+<measTypes>\(.*\)<\/measTypes>/\1/p' -e 's/<measResults>\(.*\)<\/measResults>/\1/p' data


笨办法一个。 得出所需数据结果,再用脚本处理一下。

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
4 [报告]
发表于 2011-11-04 13:20 |只看该作者
回复 1# lybpyn
  1. awk '/<measInfo measInfoId=/{file=gensub(/.*"(.*)".*/,"\\1",1,$0)".txt"}/<measTypes>/{print gensub(/.*>([0-9 ]+)<.*/,"\\1",1,$0) >>file}/<measResults>/{print gensub(/.*>([0-9 ]+)<.*/,"\\1",1,$0)>>file;close(file)}'
复制代码

论坛徽章:
3
天秤座
日期:2014-10-29 11:37:572015元宵节徽章
日期:2015-03-06 15:50:39NBA常规赛纪念章
日期:2015-05-04 22:32:03
5 [报告]
发表于 2011-11-04 16:10 |只看该作者

  1. $ grep -E "measTypes|measResults" file|awk -F"<|>" '{print $3}'
  2. 10000001 10000002 10000003 10000004 1000005 1000006 10000007 10000008 10000009
  3. 0 0 0 0 0 0 0 0 0
  4. 10000001 10000002 10000003 10000004 1000005 1000006 10000007 10000008 10000009
  5. 0 0 0 0 0 0 0 0 0

复制代码
不知道是否对0的占用字段有要求

论坛徽章:
0
6 [报告]
发表于 2011-11-04 17:09 |只看该作者
回复 4# yinyuemi


    awk '/<measInfo measInfoId=/{file=gensub(/.*"(.*)".*/,"\\1",1,$0)".txt"}/<measTypes>/{print gensub(/.*>([0-9 ]+)<.*/,"\\1",1,$0) >>file}/<measResults>/{print gensub(/.*>([0-9 ]+)<.*/,"\\1",1,$0)>>file;close(file)}'  1.xml
执行了以后为什么有些节点的标记没有去掉比如:
<measInfo measInfoId="100665894">
            <granPeriod duration="PT3600S" endTime="2011-04-13T17:00:00+08:00"/>
            <repPeriod duration="PT3600S"/>
            <measTypes>100991718 100991719 100991720 100991721 100991722 100991723 100991724 100991725 100991726 100991727 100991728 100991729 100991730 100991731 100991732 100991733 100991734 100991735 100991736 100991737 100991738 100991739 100991740 100991741 100991742 100991743 100991744 100991745 </measTypes>
            <measValue measObjLdn="43242343242=0">
                <measResults>0 787623 907107 1694730 0 787623 907107 1694730 0 0 0 0 0 787623 907107 1694730 0 0 0 0 NIL 100 100 100 NIL 100 100 100 </measResults>
            </measValue>
        </measInfo>
执行以后变为
100991718 100991719 100991720 100991721 100991722 100991723 100991724 100991725 100991726 100991727 100991728 100991729 100991730 100991731 100991732 100991733 100991734 100991735 100991736 100991737 100991738 100991739 100991740 100991741 100991742 100991743 100991744 100991745
                <measResults>0 787623 907107 1694730 0 787623 907107 1694730 0 0 0 0 0 787623 907107 1694730 0 0 0 0 NIL 100 100 100 NIL 100 100 100 </measResults>

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
7 [报告]
发表于 2011-11-05 06:17 |只看该作者
回复 6# lybpyn
  1. awk '/<measInfo measInfoId=/{file=gensub(/.*"([^"]+)".*/,"\\1",1,$0)".txt"}/<measTypes>/{print gensub(/.*>([^<]+)<.*/,"\\1",1,$0) >>file}/<measResults>/{print gensub(/.*>([^<]+)<.*/,"\\1",1,$0)>>file;close(file)}'
复制代码

论坛徽章:
0
8 [报告]
发表于 2011-11-07 08:29 |只看该作者
回复 7# yinyuemi


    高手啊!问题解决了!太感谢了!

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
9 [报告]
发表于 2011-11-07 10:25 |只看该作者
没有一个是真正在解析
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP