147 votes

Comment trouver (et supprimer) les fichiers en double ?

J'ai une grande collection de musique et il y a quelques doublons. Existe-t-il un moyen de trouver les fichiers en double ? Au minimum en faisant un hachage et en voyant si deux fichiers ont le même hachage.

Des points bonus pour trouver également des fichiers portant le même nom, à l'exception de l'extension. Je pense que j'ai quelques chansons avec des versions au format mp3 et ogg.

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

166voto

cbp Points 229

J'utilise fdupes pour ça. C'est un programme en ligne de commande qui peut être installé depuis les dépôts avec sudo apt install fdupes . Vous pouvez l'appeler comme fdupes -r /dir/ect/ory et il imprimera une liste de doublons. fdupes a également une fonction Page d'accueil simple et un Article de Wikipedia qui énumère d'autres programmes.

68voto

v2r Points 8969

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

  1. dupedit : Compare de nombreux fichiers à la fois sans faire de somme de contrôle. Evite de comparer les fichiers entre eux lorsque plusieurs chemins pointent vers le même fichier.
  2. dupmerge : fonctionne sur diverses plateformes (Win32/64 avec Cygwin, *nix, Linux etc.)
  3. dupseek : Perl avec un algorithme optimisé pour réduire les lectures.
  4. fdf : Basé sur Perl/c et fonctionne sur la plupart des plateformes (Win32, *nix et probablement d'autres). Utilise MD5, SHA1 et d'autres algorithmes de somme de contrôle.
  5. libérés : Shell Shell, qui cherche dans les répertoires que vous spécifiez. Lorsqu'il trouve deux fichiers identiques, il les lie en dur ensemble. 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 : possède une interface de ligne de commande et une interface graphique.
  7. liten : Outil de ligne de commande et bibliothèque de déduplication en Python pur, utilisant les sommes de contrôle md5 et un nouvel algorithme de comparaison d'octets. (Linux, Mac OS X, *nix, Windows)
  8. liten2 : Une réécriture de l'original Liten, toujours un outil en ligne de commande mais avec un mode interactif plus rapide utilisant les checksums SHA-1 (Linux, Mac OS X, *nix)
  9. rdfind : L'un des rares qui classent les doublons en fonction de l'ordre des paramètres d'entrée (répertoires à analyser) afin de ne pas supprimer dans les sources "originales/bien connues" (si plusieurs répertoires sont donnés). Utilise MD5 ou SHA1.
  10. rmlint : Finder rapide avec interface en ligne de commande et de nombreuses options pour trouver d'autres lint aussi (utilise MD5), depuis 18.04 LTS a une rmlint-gui paquet avec GUI (peut être lancé par rmlint --gui ou à partir du lanceur de bureau nommé Shredder Duplicate Finder )
  11. ua : Outil de ligne de commande Unix/Linux, conçu pour fonctionner avec find (et ses semblables).
  12. trouverrepe : outil gratuit en ligne de commande basé sur Java, conçu pour une recherche efficace des fichiers en double, il peut effectuer des recherches dans les zips et les jars.(GNU/Linux, Mac OS X, *nix, Windows)
  13. fdupe : un petit script écrit en Perl. Il fait son travail rapidement et efficacement. 1
  14. ssdeep : identifier des fichiers presque identiques à l'aide du hachage par morceaux déclenché par le contexte

66voto

ericslaw Points 313

FSlint a une interface graphique et quelques 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).

Instructions d'installation de fslint

7voto

Robin Robinson Points 1031

Si votre tâche de déduplication est liée à la musique, exécutez d'abord le programme picard pour identifier et étiqueter correctement votre musique (afin de trouver les fichiers .mp3/.ogg en double, même si leur nom est incorrect). Notez que picard est également disponible sous forme de paquetage Ubuntu.

Cela fait, sur la base de la musicip_puid tag vous pouvez facilement trouver toutes vos chansons en double.

6voto

girardengo Points 4735

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

rmdupe utilise les commandes linux standard pour rechercher dans les dossiers spécifiés les fichiers en double, quel que soit leur nom ou leur extension. Avant que les candidats doublons ne soient supprimés, ils sont comparés octet par octet. rmdupe peut également vérifier les doublons par rapport à un ou plusieurs dossiers de référence, peut mettre les fichiers à la corbeille au lieu de les supprimer, permet une commande de suppression personnalisée et peut limiter sa recherche aux fichiers de taille spécifiée. rmdupe inclut un mode simulation qui indique ce qui sera fait pour une commande donnée sans supprimer réellement de fichiers.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X