Comment trouver (et supprimer) des fichiers en double

121

J'ai une grande collection de musique et il y a des doublons. Est-il possible de trouver des fichiers en double? Au minimum, en faisant un hachage et en vérifiant si deux fichiers ont le même hash.

Points bonus pour trouver des fichiers portant le même nom que l'extension - Je pense que j'ai des morceaux avec des versions au format mp3 et ogg.

Je suis content d’utiliser la ligne de commande si c’est le moyen le plus simple.

    
posée Hamish Downer 08.09.2010 - 21:11
la source

8 réponses

127

J'utilise fdupes pour cela. C'est un programme en ligne de commande qui peut être installé à partir des référentiels avec sudo apt install fdupes . Vous pouvez l'appeler comme fdupes -r /dir/ect/ory et il affichera une liste de dupes. fdupes a également un page d'accueil simple et un article Wikipedia , qui répertorie quelques autres programmes.

    
réponse donnée qbi 08.09.2010 - 21:20
la source
58

FSlint comporte une interface graphique et d’autres fonctionnalités. L'explication de l'algorithme de vérification des doublons dans leur FAQ:

1. exclude files with unique lengths
2. handle files that are hardlinked to each other
3. exclude files with unique md5(first_4k(file))
4. exclude files with unique md5(whole file)
5. exclude files with unique sha1(whole file) (in case of md5 collisions).

fslint < img src="https://hostmar.co/software-large">

    
réponse donnée Dominik 08.09.2010 - 21:31
la source
48

Liste de programs/scripts/bash-solutions , qui peut trouver des doublons et s'exécuter sous nix :

  1. dupedit : compare plusieurs fichiers à la fois sans effectuer de contrôle. Évite de comparer des fichiers avec eux-mêmes lorsque plusieurs chemins d'accès pointent vers le même fichier.
  2. dupmerge : fonctionne sur différentes plates-formes (Win32 / 64 avec Cygwin, * nix, Linux, etc.)
  3. dupseek : Perl avec algorithme optimisé pour réduire les lectures.
  4. fdf : basé sur Perl / c et fonctionne sur la plupart des plates-formes (Win32, * nix et probablement d'autres). Utilise MD5, SHA1 et autres algorithmes de somme de contrôle
  5. libéré : script shell qui recherche les répertoires que vous spécifiez. Lorsqu'il trouve deux fichiers identiques, il est difficile de les relier. Maintenant, les deux fichiers ou plus existent toujours dans leurs répertoires respectifs, mais une seule copie des données est stockée sur le disque; les deux entrées de répertoire pointent vers les mêmes blocs de données.
  6. fslint : interface de ligne de commande et interface graphique.
  7. liten : outil de ligne de commande de déduplication Python et bibliothèque, utilisant des sommes de contrôle md5 et un nouveau algorithme de comparaison d'octets. (Linux, Mac OS X, * nix, Windows)
  8. liten2 : une réécriture du liten original, toujours un outil de ligne de commande, mais plus rapide. mode interactif utilisant les sommes de contrôle SHA-1 (Linux, Mac OS X, * nix)
  9. rdfind : l’un des rares doublons de classement en fonction de l’ordre des paramètres d’entrée (répertoires à analyser) dans ordre de ne pas supprimer dans les sources "originales / bien connues" (si plusieurs répertoires sont donnés). Utilise MD5 ou SHA1.
  10. rmlint : l'outil de recherche rapide avec interface de ligne de commande et de nombreuses options permettant de trouver d'autres éléments (utilise MD5)
  11. ua : outil de ligne de commande Unix / Linux, conçu pour fonctionner avec find (et autres).
  12. findrepe : outil de ligne de commande Java gratuit conçu pour une recherche efficace des fichiers en double, il peut rechercher dans zips et jars (GNU / Linux, Mac OS X, * nix, Windows)
  13. fdupe : un petit script écrit en Perl. Faire son travail rapidement et efficacement. 1
  14. ssdeep : identifiez des fichiers presque identiques à l'aide du hachage par morceaux déclenché par un contexte
réponse donnée v2r 03.04.2012 - 03:22
la source
6

Si votre tâche de déduplication est liée à la musique, lancez d'abord l'application picard pour identifier et étiqueter correctement votre musique (afin de trouver dupliquer les fichiers .mp3 / .ogg même si leurs noms sont incorrects). Notez que picard est également disponible en tant que package Ubuntu.

Cela fait, basé sur la balise musicip_puid , vous pouvez facilement trouver toutes vos chansons en double.

    
réponse donnée ΤΖΩΤΖΙΟΥ 08.09.2010 - 23:46
la source
4

Un autre script qui effectue ce travail est rmdupe . De la page de l'auteur:

  

rmdupe utilise les commandes linux standard pour rechercher des fichiers en double dans les dossiers spécifiés, quel que soit leur nom ou leur extension. Avant de supprimer les candidats en double, ils sont comparés octet par octet. rmdupe peut également vérifier les doublons sur un ou plusieurs dossiers de référence, supprimer les fichiers au lieu de les supprimer, autoriser une commande de suppression personnalisée et limiter sa recherche aux fichiers de taille spécifiée. rmdupe comprend un mode de simulation qui indique ce qui sera fait pour une commande donnée sans supprimer aucun fichier.

    
réponse donnée girardengo 22.04.2014 - 09:34
la source
3

Avez-vous essayé

finddup

ou

finddup -l

Je suppose que cela fonctionne bien.

    
réponse donnée xerostomus 05.07.2014 - 06:34
la source
2

L'identification et la suppression des doublons liés à la musique Picard et Jaikoz par lien constituent la meilleure solution. Jaikoz, je crois, marque automatiquement votre musique en fonction des données du fichier de la chanson. Vous n'avez même pas besoin du nom de la chanson pour identifier la chanson et lui attribuer toutes les métadonnées. Bien que la version gratuite ne puisse marquer qu'un nombre limité de chansons en une seule fois, vous pouvez l'exécuter autant de fois que vous le souhaitez.

    
réponse donnée Yathi 22.04.2014 - 09:47
la source
2

J'utilise komparator - sudo apt-get install komparator ( Ubuntu 10.04+ ) - comme outil graphique pour trouver des doublons en mode manuel.

    
réponse donnée N0rbert 29.12.2013 - 13:15
la source

Lire d'autres questions sur les étiquettes