perl删除匹配行下一行

您可以使用 Perl 的特定语法来删除文件中匹配的行及其下一行。

以下是代码示例:

open (FH, "<file.txt") or die "Cannot open file: $!";
@lines = <FH>;
close (FH);
open (FH, ">file.txt") or die "Cannot open file: $!";
for ($i = 0; $i <= $#lines; $i++) {
    if ($lines[$i] !~ /pattern/) {
        print FH $lines[$i];
    } elsif ($lines[$i + 1]) {
        $i++;
close (FH);

在上面的代码中, file.txt 是需要处理的文件, pattern 是正则表达式,您可以根据需要修改。该代码将打开文件,读取所有行,然后重写文件,在重写时删除匹配行及其下一行。

  •