Est-il possible de trouver sur mon disque des fichiers en double identiques, mais ayant des noms de fichiers différents?
files
duplicate-files
étudiant
la source
la source
st_size
s, en éliminant ceux qui ne possèdent que la même, puis en calculant uniquement les sommes md5 pour la correspondance desst_size
s.Réponses:
fdupes
peut le faire. Deman fdupes
:Dans Debian ou Ubuntu, vous pouvez l’installer avec
apt-get install fdupes
. Dans Fedora / Red Hat / CentOS, vous pouvez l’installer avecyum install fdupes
. Arch Linux , vous pouvez utiliserpacman -S fdupes
, et sur Gentoo,emerge fdupes
.Pour exécuter une vérification descendant de la racine de votre système de fichiers, ce qui prendra probablement beaucoup de temps et de mémoire, utilisez quelque chose comme
fdupes -r /
.Comme demandé dans les commentaires, vous pouvez obtenir les doublons les plus volumineux en procédant comme suit:
Cela se brisera si vos noms de fichiers contiennent des nouvelles lignes.
la source
fdupes ....... | xargs ls -alhd | egrep 'M |G '
garder les fichiers au format lisible par Human et seulement ceux dont la taille est en mégaoctets ou en gigaoctets. Modifiez la commande en fonction des résultats réels.du
verssort
vous le diront.Un autre bon outil est
fslint
:Sur les systèmes basés sur Debian, vous pouvez l’installer avec:
Vous pouvez également le faire manuellement si vous ne voulez pas ou ne pouvez pas installer d'outils tiers. La plupart des programmes fonctionnent en calculant les sommes de contrôle des fichiers . Les fichiers avec le même md5sum contiennent presque certainement exactement les mêmes données. Donc, vous pourriez faire quelque chose comme ça:
Exemple de sortie (les noms de fichier dans cet exemple sont les mêmes, mais cela fonctionnera également s'ils sont différents):
Ce sera beaucoup plus lent que les outils dédiés déjà mentionnés, mais cela fonctionnera.
la source
st_size
, en éliminant ceux n’ayant qu’un seul fichier de cette taille, puis en calculant les sommes md5 uniquement entre fichiers ayant le mêmest_size
.md5sum {}
parmd5 -q {}
etgawk '{print $1}'
aveccat
Réponse courte: oui.
Version plus longue: jetez un coup d’œil à l’ entrée Wikipédia fdupes , elle contient une liste assez intéressante de solutions toutes faites. Bien sûr , vous pouvez écrire votre propre, ce n'est pas que difficile - les programmes de hachage comme
diff
,sha*sum
,find
,sort
etuniq
devrait faire le travail. Vous pouvez même le mettre sur une seule ligne, et ce sera toujours compréhensible.la source
Si vous pensez qu'une fonction de hachage (ici MD5) est sans collision sur votre domaine:
Vous voulez des noms de fichiers identiques groupés? Ecrivez un script simple
not_uniq.sh
pour formater la sortie:Puis changez la
find
commande pour utiliser votre script:C'est une idée de base. Vous devriez probablement changer
find
si vos noms de fichiers contiennent des caractères. (par exemple l'espace)la source
J'ai pensé à ajouter un fork amélioré récent de fdupes, jdupes , qui s'annonce plus rapide et plus riche en fonctionnalités que fdupes (par exemple, le filtre de taille):
Cela recherchera de manière récursive les fichiers dupliqués de plus de 50 Mo dans le répertoire actuel et affichera la liste résultante dans myjdups.txt.
Remarque, la sortie n'est pas triée par taille et, comme elle ne semble pas être intégrée, j'ai adapté la réponse @Chris_Down ci-dessus pour y parvenir:
la source
Wikipedia avait un article ( http://en.wikipedia.org/wiki/List_of_duplicate_file_finders ), avec une liste des logiciels open source disponibles pour cette tâche, mais ils ont maintenant été supprimés .
J'ajouterai que la version graphique de fslint est très intéressante, ce qui permet d'utiliser un masque pour sélectionner les fichiers à supprimer. Très utile pour nettoyer les photos dupliquées.
Sous Linux, vous pouvez utiliser:
Les 2 derniers travaux sur de nombreux systèmes (Windows, Mac et Linux) Je n’ai pas vérifié FSLint
la source
Voici mon point de vue sur cela:
C'est différent en ce sens qu'il ne hache que jusqu'à 1 Mo du fichier.
Cela a quelques problèmes / fonctionnalités:
Je l'utilise pour comparer des clips vidéo, donc cela me suffit.
la source