perl下File::Find模块的使用

发布时间:2019-07-13编辑:脚本学堂
perl的File::Find模块具有shell下find命令的功能。本文举两个例子,以帮助大家理解File::Find的实际应用,供大家学习参考。

perl的File::Find模块具有shelllinuxjishu/14008.html target=_blank class=infotextkey>find命令的功能。

本文举两个例子,以帮助大家理解File::Find的实际应用,供大家学习参考。

1,找出某个目录下面以*.old结尾的文件
 

复制代码 代码如下:

#!/usr/bin/perl -w

use strict;
use File::Find;

my $path = '/home/test/';
sub wanted {
    if ( -f $File::Find::name ) {
        if ( $File::Find::name =~ /.old$/ ) {
            print "$File::Find::namen";
       }
   }
}
find( &wanted, $path );

2,找出某个目录下面几天前的文件
 

复制代码 代码如下:

my $path = '/home/test/';
opendir DH, $path or die "cannot chdir to $path : $!";

for my $file (readdir DH) {
    next if $file eq "." or $file eq "..";
    next if $file =~ /^./;
    if (time() - (stat($path.$file))[8] > (60*60*24*7)) {
        print $path.$file."n";
    }
}
closedir DH;