perl:递归找指定文件并筛选

需求:

1.在指定目录下找到指定的文件,并且是递归寻找。

比如在某目录下找到对应的.v文件,并剔除掉不需要的目录文件,将筛选好的文件名

放到指定的文件下或者存到数组里,供后面使用。采用的是perl File::Find功能

#! /usr/bin/perl

use 5.010;
use strict;
use warnings;

my @dir = '/proj/../modem/units';
my @rtl_array;

use File::Find;

open my $good_file_fh,'>','good_file.f';

find(\&PrintName,@dir);

close $good_file_fh;

foreach my $each_file (@rtl_array){
say "$each_file";
}

sub PrintName{
    my $path;
        $path = $File::Find::name;
    if ($path !~ /verif|(fb_top|m_hsdec_top)_4g|src\/(bak|mbist|non_mbist)/){
        if ($path =~ /\.v$/){
            say $good_file_fh "$path";
            push @rtl_array ,$path;
        }
    }
 }

 

你可能感兴趣的:(PERL)