Perl 如何搜索一个文件,然后将带有搜索关键字的行输出到一个新文件
我试图用perl搜索一个带有关键字的大文件,然后将关键字出现的所有行输出到一个新行中 以下命令将包含Perl 如何搜索一个文件,然后将带有搜索关键字的行输出到一个新文件,perl,Perl,我试图用perl搜索一个带有关键字的大文件,然后将关键字出现的所有行输出到一个新行中 以下命令将包含关键字的所有行打印到outputFile.txt。输入文件作为参数传递给脚本 findkeyword.pl #!/usr/bin/perl use strict; use warnings; open OUTPUT, ">outputFile.txt"; while (my $line = <>) { if($line =~ m/keyword/){ pr
关键字的所有行打印到outputFile.txt
。输入文件作为参数传递给脚本
findkeyword.pl
#!/usr/bin/perl
use strict;
use warnings;
open OUTPUT, ">outputFile.txt";
while (my $line = <>) {
if($line =~ m/keyword/){
print OUTPUT $line;
}
}
编辑:正如@Kenosis在评论中所说
最好使用字典范围的$fh作为文件句柄,比如open(my$fh,“>”,“outputFile.txt”)
参考:
如果要将关键字存储在变量中,您可能需要首先对其调用,或者将其括在\Q..。\E
下面将把包含关键字的所有行打印到outputFile.txt
。输入文件作为参数传递给脚本
findkeyword.pl
#!/usr/bin/perl
use strict;
use warnings;
open OUTPUT, ">outputFile.txt";
while (my $line = <>) {
if($line =~ m/keyword/){
print OUTPUT $line;
}
}
编辑:正如@Kenosis在评论中所说
最好使用字典范围的$fh作为文件句柄,比如open(my$fh,“>”,“outputFile.txt”)
参考:
如果要将关键字存储在变量中,可能需要首先对其调用,或者将其括在\Q..。\E
好的,我已运行脚本,但无法打开输入文件?@user1597452是否正确地为脚本提供了参数列表?有错误吗?@Cthulhu-为什么不使用三个参数open
w/a词汇范围的fh?另外,m/\Qkeyword\E/
是否有助于避免在“关键字”中使用任何特殊字符?@Kenosis该
运算符简洁,允许使用多个文件,而且不费吹灰之力:)<代码>\Q…\E
或quotemeta
,我会提到这一点。Thanks@Cthulhu-对不起。。。我指的是输出文件。
确实很有意义。谢谢好的,我已经让脚本运行,但我无法打开输入文件?@user1597452您是否正确地为脚本提供了参数列表?有错误吗?@Cthulhu-为什么不使用三个参数open
w/a词汇范围的fh?另外,m/\Qkeyword\E/
是否有助于避免在“关键字”中使用任何特殊字符?@Kenosis该
运算符简洁,允许使用多个文件,而且不费吹灰之力:)<代码>\Q…\E
或quotemeta
,我会提到这一点。Thanks@Cthulhu-对不起。。。我指的是输出文件。
确实很有意义。谢谢