Recherche de doublons

Quel expérience / conseil pour un « outil » de recherche de doublons (surtou Photos) ?

Selon liste : https:[//framalibre.org/]
? # FindDuplicates
? # Illico Editor

Merci d’avance

Bonjour,

Perso, j’utilisais Duff (http://dff.sourceforge.net/) sous licence GPL. Bon, j’avoue que je ne sais pas si cela fonctionne toujours sur Windows 10. Et je ne crois pas qu’il existe une version pour Mac ou Linux.

Hello,

perso, j’utilise jdupes sur mon linux. La commande suivante me permet de remplacer tous les fichiers dupliqués du répertoire courant par des liens durs vers une copie unique :

jdupes -rLp .

Ca ne permet pas de supprimer les duplicats (ce qui est possible avec jdupes mais n’est pas ce que je voulais faire dans ce cas), mais ça permet déjà d’économiser la place sur disque. Bien sûr, ça ne fonctionne que si le système de fichiers autorise les liens durs, ce qui est presque toujours le cas sous Linux (à part peut-être les clés USB). Mais je ne sais rien de windows ou mac en la matière.

Ce programme jdupes est inclus dans toutes les bonnes distributions Linux.

HTH, Mt.

1 Like

Super infos, merci, c’est TIP TOP ce que je cherche.

OK pour Linux (Je suis su MINT)
? quid Wx ?
? quid MacOS ?

J’utilise FSLint, qui propose une interface graphique et permet de detetcter les doublons même si les fichiers n’ont pas le même nom

Il est dans la plupart des distro, du coup apt install fslint devrait suffire

Pour retrouver des photos en double (noms identiques ou différents), j’ai écrit un script Bash en 4 lignes.

  1. créer une liste de hash (hash = empreinte unique du fichier => plusieurs fichiers avec le même hash représentent un fichier en doublon, triplon…) [commande md5sum]
  2. comparer la liste obtenue avec elle-même (jointure) [commande join]
  3. identifier lorsque la jointure ramène 2 fichiers identiques (même hash) situés dans des répertoires différents (= un doublon est détecté) [commande awk]
  4. éventuellement filtrer/retenir uniquement les alertes plutôt que la liste complète [commande grep]

seule remarque : le caractère @ est utilisé comme séparateur / les fichiers dont le nom contient ce caractère ne seront pas correctement pris en compte

obtenir la liste complète (sans l’étape 4)

rechDoublons.sh

obtenir uniquement l’identification des doublons (avec l’étape 4)

rechDoublons.sh | grep "= ? ="

contenu du fichier rechDoublons.sh :

#!/usr/bin/env bash

    buf1=`mktemp /tmp/rech_doublon.XXXXXXXX`
    buf2=`mktemp /tmp/rech_doublon.XXXXXXXX`
    find . -exec md5sum {} \; 2>/dev/null | sort | sed 's/  /@/' | sed 's/$/@/' | uniq -Dw 32 | tee $buf1 $buf2
    join -j 1 -t @ $buf1 $buf2 | awk -F@ '{if ($2 != $4) print $2 " = ? = " $4}'