免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5533 | 回复: 11

perl $/分段 [复制链接]

论坛徽章:
0
发表于 2012-09-03 09:48 |显示全部楼层
大家好,
PERL
用这个分段$/ = "</measInfo>"; 为什么不行,

要用这个来分段分析除了$/还可以用什么,
谢谢。。。。

论坛徽章:
0
发表于 2012-09-03 10:13 |显示全部楼层
为什么我测试可以的呢?
  1. perl -e '$_="<measInfo>aaa</measInfo><measInfo>bbb</measInfo>";local $/="</measInfo>";open F,"<",\$_;$line=<F>;print $line;'
复制代码
输出:
  1. <measInfo>aaa</measInfo>
复制代码

论坛徽章:
2
CU大牛徽章
日期:2013-04-17 11:46:28CU大牛徽章
日期:2013-04-17 11:46:39
发表于 2012-09-03 10:39 |显示全部楼层
貌似可以按字符串进行分段,但是不支持正则表达式

论坛徽章:
0
发表于 2012-09-03 10:56 |显示全部楼层
本帖最后由 nokia4321 于 2012-09-03 11:08 编辑

#!/usr/bin/perl
$/="</measInfo>";
while ($line = <>)
{
if ($line=~/measType/) {
print $line;
}
}
这样把文件所有行都打印出来了呢,似乎If没生效。

论坛徽章:
0
发表于 2012-09-03 11:15 |显示全部楼层
不是很明白你上面的意思~~
  1.    $/      The input record separator, newline by default.  This influences Perl's idea of what a "line" is.  Works like awk's RS variable, including treating empty
  2.                lines as a terminator if set to the null string (an empty line cannot contain any spaces or tabs).  You may set it to a multi-character string to match a
  3.                multi-character terminator, or to "undef" to read through the end of file.  Setting it to "\n\n" means something slightly different than setting to "", if
  4.                the file contains consecutive empty lines.  Setting to "" will treat two or more consecutive empty lines as a single empty line.  Setting to "\n\n" will
  5.                blindly assume that the next input character belongs to the next paragraph, even if it's a newline.
复制代码

论坛徽章:
0
发表于 2012-09-03 11:31 |显示全部楼层
本帖最后由 nokia4321 于 2012-09-03 11:33 编辑

我是想一段一段分拣,/measInfo 分段。

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
发表于 2012-09-03 12:31 |显示全部楼层
回复 6# nokia4321


    你倒是把测试文件贴上来呀

论坛徽章:
0
发表于 2012-09-03 14:02 |显示全部楼层
本帖最后由 nokia4321 于 2012-09-03 14:32 编辑

<?xml version="1.0" encoding="UTF-8"?>

论坛徽章:
0
发表于 2012-09-03 14:04 |显示全部楼层
本帖最后由 nokia4321 于 2012-09-03 14:33 编辑

多谢各位,学艺不精。尝试其他方法。

论坛徽章:
2
CU大牛徽章
日期:2013-04-17 11:46:28CU大牛徽章
日期:2013-04-17 11:46:39
发表于 2012-09-03 14:44 |显示全部楼层
本帖最后由 cdtits 于 2012-09-03 17:29 编辑
  1. #!/usr/bin/perl

  2. use strict;
  3. use warnings;

  4. my @measInfo;

  5. while (<DATA>) {
  6.     if (m{^\s*<(measType|r) p="(\d+)">([^<]+)</\1>\s*$}i) {
  7.         push @{$measInfo[$2]}, $3;
  8.     }
  9. }

  10. for (@measInfo) {
  11.     next unless defined($_);
  12.     printf "%-40s%s\n", $_->[0], join("\t", @{$_}[1..$#{$_}]);
  13. }

  14. __DATA__
  15. <?xml version="1.0" encoding="UTF-8"?>
  16. <?xml-stylesheet type="text/xsl" href="MeasDataCollection.xsl"?>
  17. <measCollecFile
  18.         xmlns="http://www.3gpp.org/ftp/specs/latest/rel-5/32_series/32401-540.zip#measCollec">
  19.         <fileHeader fileFormatVersion="32.401 V5.0"
  20.                 vendorName="Alcatel-Lucent"
  21.                 dnPrefix="">
  22.                 <fileSender
  23.                         localDn="SubNetwork=1,ManagedElement=ces-1"
  24.                         elementType="GmscServer,Vlr" />
  25.                 <measCollec beginTime="2012-08-31T07:00:00+08:00" />
  26.         </fileHeader>
  27.         <measData>
  28.                 <managedElement
  29.                         localDn="SubNetwork=1,ManagedElement=ces-1"
  30.                         userLabel=""
  31.                         swVersion="R22.20.00.11" />
  32.                 <measInfo>
  33.                         <granPeriod duration="PT3600S" endTime="2012-08-31T08:00:00+08:00" />
  34.                         <measType p="1">VS.asrtNonESCCritical</measType>
  35.                         <measType p="2">VS.asrtNonESCMajor</measType>
  36.                         <measType p="3">VS.asrtNonESCMinor</measType>
  37.                         <measType p="4">VS.asrtESC</measType>
  38.                         <measType p="5">VS.audNewEvent</measType>
  39.                         <measType p="6">VS.audErrCount</measType>
  40.                         <measType p="7">VS.audManAct</measType>
  41.                         <measType p="8">VS.alrmCritical</measType>
  42.                         <measType p="9">VS.alrmMajor</measType>
  43.                         <measType p="10">VS.alrmMinor</measType>
  44.                         <measType p="11">VS.alrmWarning</measType>
  45.                         <measType p="12">VS.restartTask</measType>
  46.                         <measType p="13">VS.reInitServiceSelf</measType>
  47.                         <measType p="14">VS.reInitServiceManual</measType>
  48.                         <measType p="15">VS.memAllocFail</measType>
  49.                         <measType p="16">VS.exceptionService</measType>
  50.                         <measType p="17">VS.throttleAuthentication</measType>
  51.                         <measType p="18">VS.throttleLocalCongestIncCalls</measType>
  52.                         <measType p="19">VS.throttleRemoteDpcOutgCalls</measType>
  53.                         <measType p="20">VS.throttleRemoteNetworkOutgCalls</measType>
  54.                         <measType p="21">VS.SS7DSInCallAtt</measType>
  55.                         <measType p="22">VS.SS7DSInCallSetupSucc</measType>
  56.                         <measType p="23">VS.SS7DSOutCallAtt</measType>
  57.                         <measType p="24">VS.SS7DSOutCallSetupSucc</measType>
  58.                         <measType p="25">VS.SS7OutgoingAttemptFailed</measType>
  59.                         <measType p="26">VS.numOfScanSample</measType>
  60.                         <measType p="27">VS.SCTPConnAtt</measType>
  61.                         <measType p="28">VS.SCTPTransAborts</measType>
  62.                         <measType p="29">VS.M3UAMsuTransmit</measType>
  63.                         <measType p="30">VS.M3UAMsuTransmitSucc</measType>
  64.                         <measType p="31">VS.M3UAMsuReceive</measType>
  65.                         <measType p="32">VS.M3UAMsuReceiveSucc</measType>
  66.                         <measValue measObjLdn="Service=ss7, ServiceMember=Cabinet_0_Shelf_0_Card_3_Host_0_Pool_0">
  67.                                 <r p="1">0</r>
  68.                                 <r p="2">0</r>
  69.                                 <r p="3">0</r>
  70.                                 <r p="4">0</r>
  71.                                 <r p="5">0</r>
  72.                                 <r p="6">0</r>
  73.                                 <r p="7">0</r>
  74.                                 <r p="8">0</r>
  75.                                 <r p="9">0</r>
  76.                                 <r p="10">0</r>
  77.                                 <r p="11">0</r>
  78.                                 <r p="12">0</r>
  79.                                 <r p="13">0</r>
  80.                                 <r p="14">0</r>
  81.                                 <r p="15">0</r>
  82.                                 <r p="16">0</r>
  83.                                 <r p="17">0</r>
  84.                                 <r p="18">0</r>
  85.                                 <r p="19">0</r>
  86.                                 <r p="20">0</r>
  87.                                 <r p="21">0</r>
  88.                                 <r p="22">0</r>
  89.                                 <r p="23">0</r>
  90.                                 <r p="24">0</r>
  91.                                 <r p="25">0</r>
  92.                                 <r p="26">36</r>
  93.                                 <r p="27">0</r>
  94.                                 <r p="28">0</r>
  95.                                 <r p="29">24719</r>
  96.                                 <r p="30">24719</r>
  97.                                 <r p="31">34142</r>
  98.                                 <r p="32">34142</r>
  99.                         </measValue>
  100.                         <measValue measObjLdn="Service=ss7, ServiceMember=Cabinet_0_Shelf_0_Card_4_Host_0_Pool_0">
  101.                                 <r p="1">0</r>
  102.                                 <r p="2">0</r>
  103.                                 <r p="3">0</r>
  104.                                 <r p="4">0</r>
  105.                                 <r p="5">0</r>
  106.                                 <r p="6">0</r>
  107.                                 <r p="7">0</r>
  108.                                 <r p="8">0</r>
  109.                                 <r p="9">0</r>
  110.                                 <r p="10">0</r>
  111.                                 <r p="11">0</r>
  112.                                 <r p="12">0</r>
  113.                                 <r p="13">0</r>
  114.                                 <r p="14">0</r>
  115.                                 <r p="15">0</r>
  116.                                 <r p="16">0</r>
  117.                                 <r p="17">0</r>
  118.                                 <r p="18">0</r>
  119.                                 <r p="19">0</r>
  120.                                 <r p="20">0</r>
  121.                                 <r p="21">0</r>
  122.                                 <r p="22">0</r>
  123.                                 <r p="23">0</r>
  124.                                 <r p="24">0</r>
  125.                                 <r p="25">0</r>
  126.                                 <r p="26">36</r>
  127.                                 <r p="27">0</r>
  128.                                 <r p="28">0</r>
  129.                                 <r p="29">44745</r>
  130.                                 <r p="30">44745</r>
  131.                                 <r p="31">34264</r>
  132.                                 <r p="32">34264</r>
  133.                         </measValue>
  134.                         <measValue measObjLdn="Service=ss7, ServiceMember=Cabinet_0_Shelf_0_Card_3_Host_0_Pool_1">
  135.                                 <r p="1">0</r>
  136.                                 <r p="2">0</r>
  137.                                 <r p="3">0</r>
  138.                                 <r p="4">0</r>
  139.                                 <r p="5">0</r>
  140.                                 <r p="6">0</r>
  141.                                 <r p="7">0</r>
  142.                                 <r p="8">0</r>
  143.                                 <r p="9">0</r>
  144.                                 <r p="10">0</r>
  145.                                 <r p="11">0</r>
  146.                                 <r p="12">0</r>
  147.                                 <r p="13">0</r>
  148.                                 <r p="14">0</r>
  149.                                 <r p="15">0</r>
  150.                                 <r p="16">0</r>
  151.                                 <r p="17">0</r>
  152.                                 <r p="18">0</r>
  153.                                 <r p="19">0</r>
  154.                                 <r p="20">0</r>
  155.                                 <r p="21">0</r>
  156.                                 <r p="22">0</r>
  157.                                 <r p="23">0</r>
  158.                                 <r p="24">0</r>
  159.                                 <r p="25">0</r>
  160.                                 <r p="26">36</r>
  161.                                 <r p="27">0</r>
  162.                                 <r p="28">0</r>
  163.                                 <r p="29">27539</r>
  164.                                 <r p="30">27539</r>
  165.                                 <r p="31">29640</r>
  166.                                 <r p="32">29640</r>
  167.                         </measValue>
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP