Histoire d'inaugurer correctement le nouveau serveur, un petit billet/astuce pour détecter des images en double dans un répertoire, et les supprimer si nécessaire.
Nous allons tout d'abord générer une liste de fichiers avec le hash md5 associé à chaque fichier. Pour cela on utilise find couplé à md5sum:
find /home/user/repertoire -iname '*jpg'|while read n; do md5sum "$n" >> md5sum_images; done
Cette ligne crée un fichier structuré de la forme suivante:
somme1_md5(32_caracteres) ./nom_de_fichier1 somme2_md5(32_caracteres) ./nom_de_fichier2 etc...
Il va nous faloir tout d'abord trier les sommes de hashage pour détecter les doublons:
sort md5sum_images > sorted_md5sum_images
Puis détecter les doublons parmis ce nouveau fichier:
uniq -dw 32 --all-repeated=separate sorted_md5sum_images
On obtient le résultat suivant:
00a49967be7f43d532db56e1dce595ed ./reptoire1/DSC00180.JPG 00a49967be7f43d532db56e1dce595ed ./repertoire2/DSC00180.JPG 00a597f061cabc1ef2af2ffa90948cf5 ./rep3/DSCF0167.JPG 00a597f061cabc1ef2af2ffa90948cf5 ./rep4/DSCF0167.JPG etc...
Et pour conclure, si on désire supprimer l'ensemble des doublons:
uniq -dw 32 sorted_md5sum_images |cut -d' ' -f 3|xargs rm -v