Скрипт для очистки дубликатов файлов на основе размера файла - PullRequest
0 голосов
/ 11 марта 2011

У меня есть несколько файлов журналов резервного копирования в магазинах Windows XP:

1.txt
2.txt
3.txt
4.txt
5.txt

Все они имеют файлы 1-3, имеют одинаковый размер файла и 2-5 имеют одинаковый размер файла.Я хочу сохранить один из них из каждого набора с одинаковым размером файла и удалить остальные.Может кто-нибудь предложить сценарий для этого?

1 Ответ

3 голосов
/ 11 марта 2011

Работающий пример из File :: Find :: Duplicates (слегка адаптированный), вероятно, является хорошим началом:

use File::Find::Duplicates;

my @dupes = find_duplicate_files('/tmp/dup');

foreach my $dupeset (@dupes) { 
    printf "Files %s (of size %d) hash to %s\n",
    join(", ", @{$dupeset->files}), $dupeset->size, $dupeset->md5;
}

File :: Find :: Duplicates соответствует по размеру и контрольной сумме MD5, что, вероятно, то, что вы хотите.

...