【发布时间】:2014-07-17 18:08:49
【问题描述】:
我正在尝试制作一个脚本来删除超过一年的文件。
这是我的代码:
#!/usr/bin/perl
$files = ".dat|.exe";
@file_del = split('\|',$files);
print "@file_del";
$dates = "365|365|365|365";
@date_del = split('\|',$dates);
if($#date_del == 0){
for $i (@file_del){
my $f = `find \"/Users/ABC/Desktop/mydata\" -name *$i -mtime +date[0]`;
print "$f";
}
}
else{
for $i (0..$#file_del){
my $f = `find \"/Users/ABC/Desktop/mydata\" -name *$file_del[$i] -mtime +$date_del[$i]`;
print "$f";
}
}
我面临的问题:
- 它没有检测 .txt 文件,否则它正在检测 .data、.exe、.dat 等。
- -mtime 也是 365。但是闰年(366 天)我必须更改我的脚本。
【问题讨论】:
-
如果年 % 4 == 0,则增加 1 天
-
仅供参考,
mtime是文件内容最后一次更改的时间,而不是文件创建后的年龄。 -
为什么要使用 Perl?只需将
find直接与-delete选项一起使用即可。 -
我的要求是 Perl 脚本。