当前位置:  开发笔记 > 编程语言 > 正文

使用Perl提取特定行

如何解决《使用Perl提取特定行》经验,为你挑选了1个好方法。

我正在编写一个perl程序来提取我匹配的两个模式之间的行.例如,下面的文本文件有6行.我正在匹配负载均衡器并结束.我想得到介于两者之间的4条线.

**load balancer** 
new 
old
good
bad
**end**

我的问题是如何在负载均衡器之间提取行并结束到数组中.任何帮助是极大的赞赏.



1> TLP..:

您可以使用触发器操作符告诉您何时在标记之间.它还将包括实际标记,因此您需要从数据集合中除外.

请注意,如果您有多个记录,这将将所有记录混合在一起,因此如果您需要以@array某种方式存储和重置.

use strict;
use warnings;

my @array;
while () {
    if (/^load balancer$/ .. /^end$/) {
        push @array, $_ unless /^(load balancer|end)$/;
    }
}

print @array;

__DATA__
load balancer
new 
old
good
bad
end

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有