Supprimer les doublons

J’avais dans un répertoire des fichiers en doubles, même contenu mais pas le même nom (cependant ils commençaient tout de même par le même nom).
Ce script qui peut être adapté à d’autres usages similaires permet de supprimer les doublons.

Ça me rappelle jdupes, que j’utilise sur Debian :

jdupes is a program based in fdupes. The main goal of jdupes is identify
and taking actions upon duplicate files. In comparison with fdupes, jdupes
is heavily modified from and improved.
.
The biggest reason to use jdupes is raw speed. In testing on various data
sets, jdupes is over 7 times faster than fdupes-1.51 on average.
.
Code in jdupes is written with data loss avoidance as the highest priority.
If a choice must be made between being aggressive or careful, the careful
way is always chosen.
.
jdupes includes features that are not found in fdupes. Examples of such
features include btrfs block-level deduplication and control over which
file is kept when a match set is automatically deleted. jdupes is not
afraid of dropping features of low value; a prime example is the -1 switch
which outputs all matches in a set on one line, a feature which was found
to be useless in real-world tests and therefore thrown out.
.
jdupes can convert duplicate files in hardlinks or relative softlinks. It
is useful in several scenarios, as in Debian packaging, to create relative
symlinks to lots of duplicate files (it will substitute rdfind + symlinks
commands, used to same purpose, when solving lintian duplicate-files).
.
Packages build for Linux versions have support to btrfs filesystem.

1 « J'aime »

Oui, en effet, le fonctionnement est similaire, la différence c’est en fait que celui-ci ne s’active que sur un seul répertoire et qu’il est principalement destiné à trouver les doublons qui commencent par le même nom:
myfile.test
myfile0392.test
Je ne vérifie pas le checksum car je n’en avait pas vraiment besoins, c’est pour ça que j’ai mis une option dry.
Il peut aussi supprimer des fichiers qui ne sont pas des doublons.
myfile.test 293 octets
myfile-343942.test 58439 octets
En fait il est adapté au téléchargements de contenus multimédia, qui sont principalement identifié avec le début de leurs noms. Une vidéo par exemple sur laquelle tu ajoute sauvagement ta marque au lancement sera de taille différente mais aura un contenu similaire, comme une vidéo dont tu tronque le branding.
Là le logiciel en supprime une de façon “aléatoire” et ne conserve qu’un seul fichier.
Cette spécificité peut d’ailleurs induire de faux positifs, c’est donc à utiliser en connaissance de cause. :wink: