我正在尝试使用 perl 中的关键字搜索一个大文件,然后将关键字出现的所有行输出到一个新行中。
问问题
101 次
1 回答
4
以下将打印包含keyword
to的所有行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 回答