http://bbs.youkuaiyun.com/topics/390272012 帮完成了这个问题,收藏下
use strict;
use File::Find;
use Getopt::Std;
my @allcsvfile;
my @targetfile;
if($#ARGV == -1 )
{
print "使用格式如下:perl list.pl 路径 关键字 > 保存文件路径\n";
exit;
}
sub searchfile
{
my $path = @_[0];
open(MYHANDLE, $path);
my @str = <MYHANDLE>;
for my $k (@str)
{
#print $k,"\n";
if($k =~ /.*$ARGV[1].*/)
{
push @targetfile, $path;
}
}
}
sub test{
if($_ =~ /.+\.csv$/)
{
my $path = $File::Find::name;
$path =~ s/\//\\/g;
push @allcsvfile, $path;
searchfile($path);
}
}
find \&test, "$ARGV[0]";
print "all csv file:\n";
foreach (@allcsvfile)
{
print $_, "\n";
}
print "all target csv file:\n";
foreach (@targetfile)
{
print $_, "\n";
}