Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
doublons [Le 08/08/2024, 20:47] – correction orthographe de répertoire + ajout de manières de trouver les doublons par ligne de commande Amiralgabydoublons [Le 24/09/2026, 12:24] (Version actuelle) – fix tag (fichier singulier) krodelabestiole
Ligne 1: Ligne 1:
-{{tag>doublons, doublon, fichiers dupliqués}}+{{tag>fichier}} 
 ====== Chercher des fichiers en double ====== ====== Chercher des fichiers en double ======
  
Ligne 5: Ligne 6:
  
 ===== Quelques applications ===== ===== Quelques applications =====
-  * **[[dupegurume|dupeGuru]]**+ 
 +  * **[[:dupegurume|dupeGuru]]**
   * **[[:Fslint]]**, remplacé désormais par **[[:Czkawka]]**   * **[[:Fslint]]**, remplacé désormais par **[[:Czkawka]]**
   * **[[:Shredder duplicate finder]]** (rmlint-gui) accessible depuis la logithèque d'Ubuntu ou avec //**sudo apt install rmlint-gui**// (Site officiel : [[https://rmlint.readthedocs.io|Shredder duplicate finder]])   * **[[:Shredder duplicate finder]]** (rmlint-gui) accessible depuis la logithèque d'Ubuntu ou avec //**sudo apt install rmlint-gui**// (Site officiel : [[https://rmlint.readthedocs.io|Shredder duplicate finder]])
Ligne 11: Ligne 13:
  
 ===== En ligne de commande ===== ===== En ligne de commande =====
- 
-//Les deux sections sont tirés des réponses provenant du site [[https://unix.stackexchange.com/questions/277697/whats-the-quickest-way-to-find-duplicated-files|What's the quickest way to find duplicated files ?]]// 
  
 ==== En une ligne ==== ==== 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)+ 
 +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) ((provient de https://unix.stackexchange.com/questions/277697/whats-the-quickest-way-to-find-duplicated-files)) 
 +<code bash>
   find . ! -empty -type f -exec md5sum {} + | sort | uniq -w32 -dD   find . ! -empty -type f -exec md5sum {} + | sort | uniq -w32 -dD
 +</code>
  
-<note>simple mais non optimisé si vous avez de beaucoup de gros fichier (le hachage peut-être éviter 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 le script dans la session ci-dessous</note>+<note>simple mais non optimisé si vous avez 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 [[#Avec fdupes|fdupes]] ou la ligne ci-dessous…</note>
  
-==== Avec un script ==== +Autre solution réalisant d'abord une recherche des doublons de tailles avant le réaliser le hachage ((https://stackoverflow.com/a/19552048/6614155)) : 
-Ce script ne réalise le hachage du fichier que si la taille de deux fichiers sont égaux. +<code bash> 
-[[https://github.com/taltman/scripts/blob/master/unix_utils/find-dupes.awk|find-dupes.awk (Github)]] +find . -not -empty -type f -printf "%s\n" | sort -rn | uniq -d |xargs -I{} -n1 find . -type f -size {}c -print0 | xargs -0 md5sum |sort | uniq -w32 --all-repeated=separate
- +
-Alterner le commentaire dans le script afin d'utiliser ''md5_exec = "md5sum"'' +
-<code> +
-## md5_exec = "md5" +
-md5_exec = "md5sum"+
 </code> </code>
 +
 +==== Avec fdupes ====
 +
 +Ce logiciel permet de donner les doublons en se basant sur le poids et la somme de hachage des fichiers.
 +
 +[[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt>fdupes]]**
 +
 +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
 +
 +<note>
 +  * ''-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<sup>ème</sup> champ
 +  * ''-f 2'' pour la commande uniq on se base sur le 2<sup>ème</sup> champ.
 +  * ''cut -d ' ' -f1,2'' on ne garde que les deux premiers champs (le poids et le chemin)
 +</note>
 +