1

我正在尝试使用 perl 中的关键字搜索一个大文件,然后将关键字出现的所有行输出到一个新行中。

4

1 回答 1

4

以下将打印包含keywordto的所有行outputFile.txt。输入文件作为参数传递给脚本。

查找关键字.pl

#!/usr/bin/perl
use strict;
use warnings;

open OUTPUT, ">outputFile.txt"; 
while (my $line = <>) {
     if($line =~ m/keyword/){
     print OUTPUT $line;
     }
}

输入

./findkeyword.pl inputfile1 inputfile2 ...

编辑:正如@Kenosis 在评论中所说,

使用词法范围的 $fh 作为文件句柄可能会更好,例如open(my $fh, ">", "outputFile.txt"). 参考:open()

如果您将关键字存储在变量中,您可能需要先调用quotemeta它,或者将其括在\Q...\E.

于 2012-11-15T11:12:34.810 回答