Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul Gaborit
À (at) 14 Feb 2006 07:28:14 -0800, "ctobini" écrivait (wrote):
Je voudrais comparer plusieurs fichiers (beaucoup), à la manière d'un 'diff' unixien afin de voir s'il y a des doublons ou plus.
Si le résultat de 'cmp' (à la place de 'diff') vous convient aussi, le plus simple me semble de calculer la signature MD5 ou SHA1 (via Digest::MD5 et Digest::SHA1) de chacun des fichiers et de repérer ceux qui ont la même signature pour ensuite les comparer réellement (avec déjà une quasi certitude qu'ils seront identiques).
Cet algorithme est en O(n).
Sauriez-vous si un module permet de faire ceci ?
Si vous tenez aussi à récupérer le résultat du 'diff' en cas de différences, regardez du côté du module 'Algorithm::Diff'.
Là, c'est du O(n**2).
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
À (at) 14 Feb 2006 07:28:14 -0800,
"ctobini" <ctemp2@free.fr> écrivait (wrote):
Je voudrais comparer plusieurs fichiers (beaucoup), à la manière d'un
'diff' unixien afin de voir s'il y a des doublons ou plus.
Si le résultat de 'cmp' (à la place de 'diff') vous convient aussi, le
plus simple me semble de calculer la signature MD5 ou SHA1 (via
Digest::MD5 et Digest::SHA1) de chacun des fichiers et de repérer ceux
qui ont la même signature pour ensuite les comparer réellement (avec
déjà une quasi certitude qu'ils seront identiques).
Cet algorithme est en O(n).
Sauriez-vous si un module permet de faire ceci ?
Si vous tenez aussi à récupérer le résultat du 'diff' en cas de
différences, regardez du côté du module 'Algorithm::Diff'.
Là, c'est du O(n**2).
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) 14 Feb 2006 07:28:14 -0800, "ctobini" écrivait (wrote):
Je voudrais comparer plusieurs fichiers (beaucoup), à la manière d'un 'diff' unixien afin de voir s'il y a des doublons ou plus.
Si le résultat de 'cmp' (à la place de 'diff') vous convient aussi, le plus simple me semble de calculer la signature MD5 ou SHA1 (via Digest::MD5 et Digest::SHA1) de chacun des fichiers et de repérer ceux qui ont la même signature pour ensuite les comparer réellement (avec déjà une quasi certitude qu'ils seront identiques).
Cet algorithme est en O(n).
Sauriez-vous si un module permet de faire ceci ?
Si vous tenez aussi à récupérer le résultat du 'diff' en cas de différences, regardez du côté du module 'Algorithm::Diff'.
Là, c'est du O(n**2).
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
gerbier
ctobini wrote:
Bonjour,
Je voudrais comparer plusieurs fichiers (beaucoup), à la manière d'un 'diff' unixien afin de voir s'il y a des doublons ou plus.
Sauriez-vous si un module permet de faire ceci ?
un module, je ne sais pas, mais il existe un programme perl qui fait ça : dupseek ( http://www.beautylabs.net/software/dupseek.html )
comme la comparaison par checksum est assez couteuse, il commence par faire un classement par taille
ctobini wrote:
Bonjour,
Je voudrais comparer plusieurs fichiers (beaucoup), à la manière d'un
'diff' unixien afin de voir s'il y a des doublons ou plus.
Sauriez-vous si un module permet de faire ceci ?
un module, je ne sais pas, mais il existe un programme perl qui fait ça
: dupseek ( http://www.beautylabs.net/software/dupseek.html )
comme la comparaison par checksum est assez couteuse, il commence par
faire un classement par taille