如何在Perl中打印匹配的行和接下来的三行?

前端之家收集整理的这篇文章主要介绍了如何在Perl中打印匹配的行和接下来的三行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要搜索一个模式,然后将该行以及接下来的3行写入文件(FILE).这是一个正确的方法吗?谢谢.

print FILE if /^abc/;
$n=3 if /^abc/;
print FILE if ($n-- > 0);

解决方法

我喜欢..操作符:

perl -ne 'print if (/abc/ and $n=3) .. not $n--'

但是你没有描述如果abc模式在以下三行中重复会发生什么.如果你想重启计数器,如果用双重打印修复一个小错误你的方法是正确的.

perl -ne'$n=4 if/abc/;print if$n-->0'

猜你在找的Perl相关文章