我有两到三个文件。在这个文件中给出了目录的路径。在这些文件中还提供了另一个文件。关键字由参数给出。这些文件的名称也作为参数给出。所以我们必须在作为参数列表给出的所有文件中找到关键字。我们必须在包含关键字的文件中写入文件名和行。
如何用Perl编写这个程序?
答案 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);