作者imce (蜥蜴)
看板perl
标题Re: [问题] 搜寻结果後,将上下几行输出
时间Wed Feb 7 20:52:25 2007
※ 引述《Davin (Davin)》之铭言:
: 请教一下, 如果想输出搜寻的结果的前後几行,
: While (<FILE>) {
: print $_ if( $_ =~ /$a.*$b/s);
: }
: 如果我想输出包括目标字串该行的前後三行,
: 该如何做比较好呢??
: 已经查过之前的文章也在网路上找过了,不过没有满意的答案,
: 谢谢各位的解答~
应该可以吧~你试试看
@FILE=<FILE>;
for($i=0;$i<$#FILE;$i++)
{
($FILE[$i] =~ /$a.*$b/s)?print $FILE[$i+$_-3]:last for (0..6);
}
很努力缩减了,还是得写四行=.=
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.120.15.20
※ 编辑: imce 来自: 140.120.15.20 (02/07 20:54)
1F:推 Davin:喔喔!!原来是这样, 谢谢你罗~ :) 02/08 04:01