Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1148005
  • 博文数量: 312
  • 博客积分: 12522
  • 博客等级: 上将
  • 技术积分: 3376
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-27 18:35
文章分类

全部博文(312)

文章存档

2016年(3)

2015年(1)

2013年(1)

2012年(28)

2011年(101)

2010年(72)

2009年(13)

2008年(93)

分类: IT业界

2011-06-28 17:34:14

erl下的File::Find模块具有shell下的find命令的功能,下面具体看2个例子:

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::name\n";

        }
    }

}

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;

阅读(1017) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~