加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

find file

发布时间:2020-12-15 20:55:27 所属栏目:大数据 来源:网络整理
导读:#!/usr/bin/perl ? # Written by Limeng # May 27,2010 Changsha ? use strict; use File::Basename; use warnings; my $error_file = "error.txt"; my $clone_report_file = "clone_report.txt"; ? my @error; my @path_list; if ($ARGV[0] =~ /^(-h|-?|/

#!/usr/bin/perl
?
# Written by Limeng
# May 27,2010 Changsha
?
use strict;
use File::Basename;
use warnings;

my $error_file = "error.txt";
my $clone_report_file = "clone_report.txt";
?
my @error;
my @path_list;
if ($ARGV[0] =~ /^(-h|-?|/?|-help)$/i or !@ARGV) {
??????? print "n Usage: find_clone [path1] [path2] [path3] ... nn Press Enter to close me ... 7";
???????? <STDIN>;
???????? exit;
}
else {
??????? foreach (@ARGV) {
???????????????? s////g;
???????????????? chop if (/.*/$/);
???????????????? if (! -d $_) {
????????????????????????? print " The path ($_) does not exist! Please check!n7";
????????????????????????? push (@error,"The path ($_) does not exist! Please check!");
????????????????? }
????????????????? else { push(@path_list,$_); }
??????? }
??????? if (!@path_list) {
???????????????? print "n The path(s) you input are invalid,try again please!nn Press Enter to close me ... 7";
???????????????? <STDIN>;
???????????????? exit;
??????? }
}
?
$| = 1;
print "n Scanning the path(s) ... ";
my @file_list;
foreach (@path_list) { readsub($_); }
print "Done!nn Analyzing ... nn";

my %files;

foreach my $path (@file_list) {
??? my ($name,$dir) = fileparse($path);
??? push @{$files{$name}},$path;
}

foreach my $file (keys %files) {
??? if (@{$files{$file}} > 1) {
??????? print "@{$files{$file}}n";
??? }
}

?

#my @progress = ('-','-','','|','/','/'); #my $s = 0; #open FH,">$clone_report_file"; #foreach (keys %clone) { #??????? if (@{$clone{$_}} > 1) { #???????????????? foreach(@{$clone{$_}}) { #???????????????????????? my @stat = stat($_); #???????????????????????? print FH time_transfer($stat[9]),"t$_n"; #???????????????? } #???????????????? print FH "n"; #???????????????? $clone++; #???????? } #} #if ($clone) { print qq~nn $clone group(s) clone files found,details see "$clone_report_file"!n~; } #else { #??????? print qq~nn No clone files found!n~; #??????? print FH qq~No clone files found!~; #} #close FH; ? if (@error) { ??????? open FH,">$error_file"; ??????? foreach (@error) { print FH "$_n"; } ???????? close FH; ???????? print "n ",$#error+1," error(s) ocurred,details please see "$error_file"!"; } else { print qq~n No error ocurred!~; } ? print "n"; sub readsub { ??????? my $file_t = shift; ??????? if (-f $file_t) ??????? { ??????????????? push(@file_list,$file_t); ??????? } ??????? if (-d $file_t) { ??????????????? opendir(AA,$file_t); ??????????????? my @list = readdir(AA); ??????????????? close (AA); ??????????????? my $file_to_act; ??????????????? foreach $file_to_act (sort @list) ??????????????? { ??????????????????????? if ($file_to_act =~ /^.|.$/) { next; } ??????????????????????? else ??????????????????????? { ??????????????????????????????? readsub("$file_t/$file_to_act"); ??????????????????????? } ??????????????? } ??????? } }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读