Perl script - deduplikáció

Van egy külső hdd-m amire többen rengeteg képet másoltunk föl, nem túl rendezett struktúrában :) Egy csomó kép legalább kétszer került fel a hdd-re, ezért adódott az igény, hogy az azonos képekből csak egy példány legyen. Erre írtam egy rövid perl scriptet, ami megkeresi azokat a fileokat amire a megadott regexp illik (pl ".*\.jpg"), ezeket méret szerint csoportosítja, és ha egy csoporton beül több fájl is van, akkor azokat csoportosítja md5 hash szerint. Az egyező md5 hash-el rendelkező fájlokat kilistázza. Körübelül ennyi, a kimenet alapján már lehet redukálni az azonos fájlokat.

Akinek esetleg szintén jól jönne, itt megtalálja: link

A futtatáshoz szükség van a Digest::MD5::File perl modulra. Ubuntun telepíteni így kell: sudo apt-get install libdigest-md5-file-perl

Hozzászólások

fdupes?

Szerk.: nekem olyan jutott eszembe egyszer, hogy az ImageMagick compare cuccával vagy mással összehasonlítani a képeket, és a nagyon hasonlókat listázni vagy azokból a kisebb méretűt felajánlani törlésre - ráadásul úgy lenne jó megírni szerintem, hogy a felbontás és a nyújtás ne számítson az összehasonlításnál.

Ha nem kritikus alkalmazasrol van szo, altalaban eleg egyetlen hash is. Amit nyersz vele, az a gyorsasag, plane, ha sok fajllal kell dolgozni. Mondjuk a meret + hash talan meg a leggyorsabb, bar sha1-nel tenyleg nagyon kell kuzdeni az egybeesesert.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

pont tokugyanilyen, es ugyanigy mukodo scriptet irtam en is par eve hogy megtalaljam a duplikalt ebookjaimat :)