Chinaunix
标题:
求指教 如何用find实现操作指定日期的的文件
[打印本页]
作者:
alexyuan881
时间:
2012-11-10 13:55
标题:
求指教 如何用find实现操作指定日期的的文件
如何用find实现操作指定日期的的文件
比如说 我要实现从a文件夹中找出昨天产生的txt文档复制到b文件夹中
作者:
alexyuan881
时间:
2012-11-10 18:04
其他可以实现的行
就是要实现对指定日期文件的操作 比如 每天备份前一天产生的数据文件
作者:
alexyuan881
时间:
2012-11-11 21:14
怎么没人气啊 自己顶下
作者:
gaoyang636
时间:
2012-11-12 09:08
不需要用Perl吧,用shell就搞定了
作者:
kk861123
时间:
2012-11-12 09:39
use File::Find;
复制代码
作者:
alexyuan881
时间:
2012-11-12 20:55
回复
4#
gaoyang636
给点提示 大神
作者:
alexyuan881
时间:
2012-11-12 21:14
回复
5#
kk861123
能具体点吗??
作者:
kk861123
时间:
2012-11-13 08:50
回复
7#
alexyuan881
怎么具体?一个find就可以搞定的,你哪里实现不了呢?
作者:
laputa73
时间:
2012-11-13 11:48
本帖最后由 laputa73 于 2012-11-13 11:48 编辑
删除指定目录下n天前的文件
find /var/mail/* -type f -mtime +$daynum -exec rm {} \;
其他的类似
作者:
alexyuan881
时间:
2012-11-26 20:40
回复
9#
laputa73
想问下 如果是对文件夹呢 找出一个目录下最近3天产生的文件夹 ,注意是文件夹 不是文件
作者:
laputa73
时间:
2012-11-27 08:50
你可以man 一下find,对type的说明
-type c True if the type of the file is c, where
c is b, c, d, D, f, l, p, or s for block
special file, character special file,
directory, door, plain file, symbolic
link, fifo (named pipe), or socket,
respectively.
d代表目录,f代表文件
如果你要删除目录,后面的rm要修改为rm -rf (以防目录非空)
作者:
xi0ws
时间:
2012-11-27 13:45
本帖最后由 xi0ws 于 2012-11-27 13:46 编辑
#!usr/bin/perl
use strict;
use File::Find;
use File::Copy;
my $start_folder= ''; #starting folder
my $bak = ''; #backup folder
find(sub{copy ("$start_folder\\$_", $bak), if $_ =~ /\.txt$/ && -C $_ > 1 && -C $_ < 2;}, $start_folder);
复制代码
作者:
alexyuan881
时间:
2012-11-27 19:25
回复
12#
xi0ws
谢谢 受益良多
顺便问下 如果是对文件夹呢 比如说 我现在有个目录每天会产生很多文件夹 我如何才能找出规定日期产生的文件夹 比如找出今天产生的文件夹 输出文件夹的名称
作者:
xi0ws
时间:
2012-11-28 14:13
本帖最后由 xi0ws 于 2012-11-28 14:16 编辑
回复
13#
alexyuan881
"-C"貌似也能处理文件夹的情况,你试试
严格来说我的那段代码有问提,不能处理$root有子文件夹的情况,建议使用 use File::Basename;
#!usr/bin/perl
use strict;
use warnings;
use File::Find;
use File::Basename;
my $root = ''; #root folder
find(sub
{
my $file = $File::Find::name;
return unless -d $file;
print "$file\n" if -C _ > 0 && -C _ < 1;},
$root);
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2