#!/usr/bin/perl
#
# fdupe tool - finding duplicate files
#
# $Id: fdupe,v 1.7 2011/10/14 20:11:21 root Exp root $
#
# Source code Copyright (c) 1998,2011 Bernhard Schneider.
# May be used only for non-commercial purposes with
# appropriate acknowledgement of copyright.
#
# FILE : fdupe
# DESCRIPTION : script finds duplicate Files.
# AUTHOR: Bernhard Schneider <bernhard@neaptide.org>
# hints, crrections & ideas are welcome
#
# usage: fdupe.pl <path> <path> ...
# find / -xdev | fdupe.pl
#
# how to select and remove duplicates:
# redirect output to >file, edit the file and mark lines you
# wish to move/delete with a preceding dash (-)
# Use following script to delete marked files:
# #!/usr/bin/perl -n
# chomp; unlink if s/^-//;
#
# history:
# 12.05.99 - goto statment replaced with next
# 14.05.99 - minor changes
# 18.05.99 - removed confusing 'for $y'
# included hash-search
# 20.05.99 - minor changes
# 02.03.00 - some functions rewritten, optimized for speed
# 10.01.01 - hint-fix by Ozzie |ozric at kyuzz.org|
# 05.03.02 - fixed hangups by reading block/char-Devices
# 08.09.11 - skips checking of hard links
# 14.10.11 - accept file names from stdin
#
#use strict; # uncomment for debugging
$|=1;
local (*F1,*F2); my %farray = (); my $statF1;
# ------------------------------
# traverse directories
sub scan ($) {
my ($dir) = $_[0];
opendir (DIR, $dir) or die "($dir) $!:$@";
map {
(-d) ? scan ($_) : push @{$farray{-s $_}},$_
unless (-l or -S or -p or -c or -b);
} map "$dir/$_", grep !/^/./.?$/, readdir (DIR); closedir (DIR);
}
# ------------------------------
# get chunk of bytes from a file
sub getchunk ($$) {
my ($fsize,$pfname) = @_;
my $chunksize = 32;
my ($nread,$buff);
return undef unless open(F1,$$pfname);
$statF1 = [(stat F1)[3,1]];
binmode F1;
$nread = read (F1,$buff,$chunksize);
($nread == $chunksize || $nread == $fsize) ? "$buff" : undef;
}
# ------------------------------
# compare two files
sub mycmp ($) {
my ($fptr) = $_[0];
my ($buffa, $buffb);
my ($nread1,$nread2);
my $statF2;
my ($buffsize) = 16*1024;
return -1 unless (open(F2,"<$$fptr"));
$statF2 = [(stat F2)[3,1]];
return 0
if ($statF2->[0] > 1 && $statF1->[1] == $statF2->[1]);
binmode F2;
seek (F1,0,0);
do { $nread1 = read (F1,$buffa,$buffsize);
$nread2 = read (F2,$buffb,$buffsize);
if (($nread1 != $nread2) || ($buffa cmp $buffb)) {
return -1;
}
} while ($nread1);
return 0;
}
# ------------------------------
print "collecting files and sizes .../n";
if (-t STDIN) {
$ARGV[0] = '.' unless $ARGV[0]; # use wd if no arguments given
map scan $_, @ARGV;
} else {
while (<STDIN>) {
s亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩第一页在线|
久久久久女教师免费一区|
亚洲tv在线观看|
国产亚洲视频在线观看|
成人激情视频在线播放|
亚洲自拍偷拍色图|
亚洲缚视频在线观看|
成人激情在线播放|
成人中文字幕+乱码+中文字幕|
国产日韩欧美视频|
91精品综合视频|
久久99青青精品免费观看|
亚洲精品一区久久久久久|
久久久久国产精品www|
中文字幕亚洲精品|
成人午夜黄色影院|
日韩最新免费不卡|
亚洲综合视频1区|
国产欧美一区二区三区久久人妖|
茄子视频成人在线|
精品偷拍一区二区三区在线看|
久久久久亚洲精品成人网小说|
久久久国产在线视频|
亚洲a中文字幕|
久久在精品线影院精品国产|
国产精品视频久久久久|
日韩精品视频在线观看免费|
欧美午夜xxx|
久久夜精品香蕉|
日韩中文字幕在线观看|
亚洲sss综合天堂久久|
欧美福利视频在线观看|
国产日韩欧美日韩|
97精品国产97久久久久久春色|
欧美电影电视剧在线观看|
日韩成人在线观看|
中文字幕亚洲欧美|
久久97久久97精品免视看|
欧美性黄网官网|
欧美午夜片在线免费观看|
亚洲色图国产精品|
国产不卡精品视男人的天堂|
亚洲国产日韩欧美综合久久|
欧美日韩亚洲精品内裤|
这里只有精品在线观看|
欧美亚洲国产另类|
国产精品狠色婷|
亚洲第一区第二区|
欧美理论片在线观看|
一区二区成人av|
成人在线中文字幕|
欧美午夜美女看片|
国产亚洲精品成人av久久ww|
欧美电影免费观看电视剧大全|
456亚洲影院|
日韩hd视频在线观看|
欧美激情区在线播放|
国产免费久久av|
热re99久久精品国产66热|
色综合久久中文字幕综合网小说|
色偷偷av一区二区三区乱|
久久最新资源网|
中文字幕亚洲自拍|
国产精品jvid在线观看蜜臀|
亚洲国产精品va在线看黑人动漫|
国产精品久久久久久久久久久久久久|
精品欧美一区二区三区|
亚洲欧洲av一区二区|
亚洲热线99精品视频|
66m—66摸成人免费视频|
亚洲第一区中文99精品|
久久精品视频在线|
久久人人爽人人爽人人片av高清|
亚洲色图av在线|
久久网福利资源网站|
国语自产偷拍精品视频偷|
成人欧美一区二区三区在线湿哒哒|
日本不卡免费高清视频|
国产精品香蕉av|
国产精品福利网站|
欧美视频专区一二在线观看|
日韩精品一二三四区|
日韩av123|
久久香蕉国产线看观看网|
国产精品久久久久999|
久久久久久成人|
日韩在线免费高清视频|
亚洲精品在线观看www|
97视频网站入口|
欧美激情中文字幕乱码免费|
97国产成人精品视频|
亚洲欧美日韩天堂一区二区|
国模视频一区二区|
在线观看国产欧美|
日韩免费av片在线观看|
成人精品视频久久久久|
久久伊人精品一区二区三区|
国产区精品在线观看|
亚洲影院色无极综合|
国产中文日韩欧美|
国产91在线播放精品91|
中文字幕亚洲二区|
欧美激情奇米色|
国产精品久久97|
日韩有码在线视频|
国内精品久久久久久久久|
亚洲电影在线观看|
欧美在线观看网站|
在线视频国产日韩|
亚洲999一在线观看www|
成人黄色免费片|
欧美综合在线第二页|
欧美极品xxxx|
精品成人在线视频|
欧美精品在线播放|
国产一区二区在线播放|
日本一本a高清免费不卡|
国产精品日韩久久久久|
亚洲精选中文字幕|
成人免费视频xnxx.com|
欧美成人午夜免费视在线看片|
久久视频在线看|
日本精品中文字幕|
国产盗摄xxxx视频xxx69|
久久久免费精品视频|
久久久精品国产一区二区|
亚洲视频999|
欧美成人免费视频|
欧美乱大交xxxxx|
亚洲丝袜一区在线|
亚洲电影免费观看高清|
欧美在线视频一区二区|
国产va免费精品高清在线|
成人精品一区二区三区|
久久国产一区二区三区|
久久青草福利网站|
欧美激情精品久久久久久变态|
亚洲影院在线看|
久久综合伊人77777尤物|
91精品国产色综合久久不卡98口|
欧美日韩xxx|
亚洲午夜精品视频|
精品久久香蕉国产线看观看亚洲|
午夜精品99久久免费|
国产精品视频成人|
久久久免费观看|
国产丝袜精品第一页|
成人精品一区二区三区电影黑人|
成人国产精品久久久|
日韩的一区二区|
久久国产精品久久久久久|
亚洲天堂av在线免费观看|
精品国产视频在线|
不卡av在线播放|
精品国产乱码久久久久久虫虫漫画|
欧美日韩中文在线|
高清亚洲成在人网站天堂|
亚洲精品午夜精品|
蜜臀久久99精品久久久无需会员|
6080yy精品一区二区三区|
精品久久久久久久大神国产|
麻豆国产va免费精品高清在线|
欧美精品videosex牲欧美|
国产欧美日韩免费看aⅴ视频|