如何从perl中的多个文件中搜索单个关键字?

时间:2014-01-21 10:19:02

标签: perl file arguments keyword perl-module

我有两到三个文件。在这个文件中给出了目录的路径。在这些文件中还提供了另一个文件。关键字由参数给出。这些文件的名称也作为参数给出。所以我们必须在作为参数列表给出的所有文件中找到关键字。我们必须在包含关键字的文件中写入文件名和行。

如何用Perl编写这个程序?

1 个答案:

答案 0 :(得分:0)

尝试此代码...而不是将filename列表作为参数,列出名为file_name.lst的文件中的所有文件并运行此脚本

my $file_name="./file_names.lst";
open(FFILE,$file_name);
while(<FFILE>){
        chomp($_);
        if(-f "$_"){
                $_=~s/ /\\ /g;#escape spaces
                $_=~s/\!/\\\!/g;
                my $myoutput=`grep -in $ARGV[0] "$_"`;
                chomp($myoutput);
             #   print "campaign name is $_ and $myoutput\n";
                        my $errorcode=`echo $?`;
                        chomp( $errorcode);
#                       print "$errorcode\n";
                        if("$errorcode" eq 0 ){
                                print "$_\n";

                        }


        }

}

close(FFILE);