perl脚本如何实现从多行中抽取所需要的多行

请达人帮忙perl实现关于防火墙日志configuserlocal后第一个到结尾end的多行匹配,并抽取出来到一个数组中,将结果输出。我所需的内容其实就是这些,这些内容来... 请达人帮忙perl实现关于防火墙日志config user local后第一个到结尾end的多行匹配,并抽取出来到一个数组中,将结果输出。我所需的内容其实就是这些,这些内容来源于我上传的附件。请参看我的附件内容。

config user local
edit "guest"
set status enable
set two-factor disable
set type password
set passwd ENC NSKXMrL+Vklz7+RLcEZrG6YcU8VYKBg7K/SgmsO9oqzOaZEQpCe0Wn/2H+6QQIp9cAPL0txvTXVnB2EhA8Xr/hA/f6q6hg+8hE9d8yt16Q1sknr4
next
edit "user1"
set status enable
set two-factor disable
set type password
set passwd ENC pyWSJX9BEIhcer+3dLF0RFx0c0nazg+Qm/s1nLUUn6mJ0YWLvl0BlpR9PCZrKvItOIMFIrqSSay29P3TzqyVhIKv4Gwpgr20QLptFnBBv40+x15q
next
end

附件内容:http://hzsrc.ctfs.ftn.qq.com/ftn_handler/5966620a6a92a961bb7f6ea20adfb03346e1666b3c8f64c489627221243f23b7dba22eb984918f3b9ed81b3ceecbc81448a2e6295fbcfa5bd9c19b048348f62e/?fname=result.txt&k=5e3039660f0dd7c60401884747300b16040409035600090e4c020d03551d0d0d5209140705565f14570308555702085b59025b52613a394b04434c0a151e4d41153004&fr=00&&txf_fid=00000000acac129e78924734920faa3523df520c&xffz=1163922
展开
 我来答
Sophie_Hello
2013-07-17 · 超过30用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:52.9万
展开全部
open SOURCE,"<result.txt";            

open DESTINATION,">output.txt";   

my $startflag = 0;         #初始化起始标志startflag

while(<SOURCE>)

{

 if(/^\s*config user local\s*$/)    #找到起始点,第一个config user local, 设置起始标志startflag

 {

  $startflag = 1;

  print DESTINATION $_;

 }elsif(/^\s*end\s*$/ and $startflag == 1)   #找到终止点,config user local之后的第一个end, 重置起始标志并退出循环, 此处不重置也ok.

 {

  $startflag = 0;

  print DESTINATION $_;

  last;

 }else          #把起始点到中止点中间的各行输出到output.txt

 {

  print DESTINATION $_ if $startflag == 1;

 }

}

代码我用你的附件测试过, 如果你的要求描述完整了,那么这个就是可行的.

如果你一定要把输出放入数组的话, 在此代码上稍作调整就行了, 有问题再问我.

百度网友c9e795dda
2013-07-16 · TA获得超过5167个赞
知道大有可为答主
回答量:1128
采纳率:0%
帮助的人:1155万
展开全部
嘿嘿.. 你还是想用匹配吗 ? 真执著.... 哈哈
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式