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 07/11/2024, 23:32] – [En une ligne] section et pas session + fdupes 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 13: Ligne 15:
  
 ==== 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 é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|fdupes]]</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>
  
-//réponse 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 ?]]//+Autre solution réalisant d'abord une recherche des doublons de tailles avant le réaliser le hachage ((https://stackoverflow.com/a/19552048/6614155)) : 
 +<code bash> 
 +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 
 +</code>
  
 ==== Avec fdupes ==== ==== Avec fdupes ====
Ligne 31: Ligne 39:
  
  
 +===== 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>