Chercher des fichiers en double
Rechercher des doublons, des fichiers ou répertoires en plusieurs exemplaires.
Quelques applications
- Shredder duplicate finder (rmlint-gui) accessible depuis la logithèque d'Ubuntu ou avec sudo apt install rmlint-gui (Site officiel : Shredder duplicate finder)
- Speedy Duplicate Finder : Logiciel propriétaire, version de démonstration, accessible depuis la logithèque d'Ubuntu ou avec sudo snap install speedy-duplicate-finder
En ligne de commande
En une ligne
La commande ci-dessous va récupérer les fichiers dans le répertoire courant, et pour chaque fichier, calculer leur somme de hachage. Ensuite les sommes sont triés et seulement les doublons seront affichés (option -d
et -D
de uniq)
find . ! -empty -type f -exec md5sum {} + | sort | uniq -w32 -dD
simple mais non optimisé si vous avez de beaucoup de gros fichier (le hachage peut-être évité si les fichiers n'ont pas la même taille). Si vous êtes dans la situation où vous avez énormément de gros fichier, préférez fdupes
réponse provenant du site What's the quickest way to find duplicated files ?
Avec fdupes
Ce logiciel permet de donner les doublons en se basant sur le poids et la somme de hachage des fichiers.
Pour l'utiliser récursivement dans un dossier
fdupes -R .
Afficher les doublons uniquement en comparant les noms des fichiers
Utiliser la commande suivante qui affichera la taille et le chemin des fichiers ayant les mêmes noms.
find . -mindepth 1 -type f -printf '%s %p %f\n' | sort -t ' ' -k 3,3 | uniq -f 2 --all-repeated=separate | cut -d ' ' -f1,2
-type f
pour indiquer à la commande find de ne prendre que les fichiers (pas les répertoires)-printf '%s %p %f\n'
on affiche pour chaque entrée 3 champs (le poids, le chemin et le nom de fichier) séparé par un espace-t ' '
on indique à la commande sort qu'il y a des champs (donc de ne pas trier par ligne mais par un champ spécifique)-k 3,3
on prend le 3ème champ-f 2
pour la commande uniq on se base sur le 2ème champ.cut -d ' ' -f1,2
on ne garde que les deux premiers champs (le poids et le chemin)