Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
doublons [Le 07/10/2024, 21:15] 154.45.213.108 [En une ligne] |
doublons [Le 07/11/2024, 23:59] (Version actuelle) Amiralgaby ajout d'une section pour afficher les fichiers ayant des noms en doublons |
||
|---|---|---|---|
| Ligne 11: | Ligne 11: | ||
| ===== 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 ==== | ||
| Ligne 18: | Ligne 16: | ||
| find . ! -empty -type f -exec md5sum {} + | sort | uniq -w32 -dD | find . ! -empty -type f -exec md5sum {} + | sort | uniq -w32 -dD | ||
| - | <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 le script dans la session ci-dessous</note> | + | <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 [[#Avec fdupes|fdupes]]</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 ?]]// | ||
| + | |||
| + | ==== 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 | ||
| - | ==== Avec un script ==== | + | <note> |
| - | Ce script ne réalise le hachage du fichier que si la taille de deux fichiers sont égaux. | + | * ''-type f'' pour indiquer à la commande find de ne prendre que les fichiers (pas les répertoires) |
| - | [[https://github.com/taltman/scripts/blob/master/unix_utils/find-dupes.awk|find-dupes.awk (Github)]] | + | * ''%%-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> | ||
| - | Alterner le commentaire dans le script afin d'utiliser ''md5_exec = "md5sum"'' | ||
| - | <code> | ||
| - | ## md5_exec = "md5" | ||
| - | md5_exec = "md5sum" | ||
| - | </code> | ||