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'