我需要搜索一个模式并将该行以及接下来的 3 行写入一个文件 (FILE)。这是一个正确的方法吗?谢谢。
print FILE if /^abc/;
$n=3 if /^abc/;
print FILE if ($n-- > 0);
最佳答案
我喜欢 ..
运算符(operator):
perl -ne 'print if (/abc/ and $n=3) .. not $n--'
但是您没有描述如果在以下三行中重复 abc 模式会发生什么。如果你想重新启动计数器,如果用 double 印修复一个小错误,你的方法是正确的。
perl -ne'$n=4 if/abc/;print if$n-->0'
关于perl - 如何在 Perl 中打印匹配的行和接下来的三行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/989243/