J'ai un répertoire où tous les fichiers sont en double voir en triple. Pour chaque fichier, j'aimerais garder le plus gros des exemplaires et supprimer le ou les autres.
Est-ce que vous connaîtriez un logiciel capable de faire ça ?
J'ai un répertoire où tous les fichiers sont en double voir en triple. Pour chaque fichier, j'aimerais garder le plus gros des exemplaires et supprimer le ou les autres.
Est-ce que vous connaîtriez un logiciel capable de faire ça ?
# Doublons ?
Posté par Frédéric Perrin (site web personnel) . Évalué à 8.
Si le fichier A est plus gros que le fichier B, comment est-ce que A est un doublon de B ? Ces fichiers ne peuvent pas être identitiques s'ils n'ont pas la même taille !
[^] # Re: Doublons ?
Posté par NeoX . Évalué à 4.
meme question qu'Aragorn, un doublon par definition ce sont deux fichiers identiques
- meme nom
- meme date
- meme contenu
=> meme taille
pour le verifier, tu peux comparer leur md5 dans une ligne de commande
md5sum lefichierA
fdshfds7352fsdj2392
md5sum lefichierB
fdshfds7352fsdj2392
si les md5 sont identiques, alors on peut considerer que ce sont des doublons (meme contenu)
si les md5 differents, alors le contenu differe, donc ce ne sont pas des doublons.
[^] # Re: Doublons ?
Posté par Michaël (site web personnel) . Évalué à 5.
Non, ce n'est pas une bonne méthode pour comparer deux fichiers. Le mieux est d'utiliser la commande cmp.
Le MD5 (ou un autre hachage) est utile pour trouver les doublons dans une grosse collection.
[^] # Re: Doublons ?
Posté par Arathor . Évalué à 1.
J'aurais dû donner plus de détails sur ce que je veux faire exactement.
J'ai un répertoire de 33G de mp3 enregistrés avec streamripper. Voilà à quoi ressemble son contenu :
Zen Mechanics——Mecha.mp3
Zen Mechanics——Modified (1).mp3
Zen Mechanics——Modified - Album- Holy Cities (1).mp3
Zen Mechanics——Modified - Album- Holy Cities (2).mp3
Zen Mechanics——Modified - Album- Holy Cities (3).mp3
Zen Mechanics——Modified - Album- Holy Cities (4).mp3
Zen Mechanics——Modified - Album- Holy Cities (5).mp3
Zen Mechanics——Modified - Album- Holy Cities (6).mp3
Zen Mechanics——Modified - Album- Holy Cities.mp3
Zen Mechanics——Modified.mp3
Ziki Vs Ananda Shake——High Damage - Album- V-A- - Goa Trance vol- 7.mp3
Ziki Vs Sesto Sento——Trance 'N' Roll - Album- V-A- - Goa Trance vol- 7.mp3
Ziki Vs- XI——Mental Model - Album- Goa 2008 Vol- 1.mp3
Zion Vs Zion Linguist——Babel (1).mp3
Zion Vs Zion Linguist——Babel - Album- V-A- - Release N Attack (1).mp3
Zion Vs Zion Linguist——Babel - Album- V-A- - Release N Attack.mp3
Zion Vs Zion Linguist——Babel.mp3
Zybex & Ovnimoon——Universe (1).mp3
Zybex & Ovnimoon——Universe.mp3
Zybex——Purple Waves - Album- V-A- - Psydance (1).mp3
Zybex——Purple Waves - Album- V-A- - Psydance.mp3
Zybex——Saico Psybex - Album- V-A- - Goa Moon Vol- 1 (1).mp3
Zybex——Saico Psybex - Album- V-A- - Goa Moon Vol- 1 (2).mp3
Zybex——Saico Psybex - Album- V-A- - Goa Moon Vol- 1 (3).mp3
Zybex——Saico Psybex - Album- V-A- - Goa Moon Vol- 1.mp3
J'aimerais supprimer les doublons. Mais comme « ls |wc -l » me répond 4193, je peux pas le faire à la main.
Sachant que c'est streamripper qui a découpé les morceaux automatiquement, en se basant sur le changement de tags dans le stream. Il peut donc avoir couper un peu avant le début ou la fin du morceau. Les doublons ont le même nom de fichier, mis à part (X) à la fin, et font tous à peu près la même taille. Je souhaite ne garder que le plus gros pour chaque morceau.
[^] # Re: Doublons ?
Posté par NeoX . Évalué à 3.
alors tu n'as plus qu'a scripter
car seul toi peux dire quel fichier garder quand il y en a plusieurs.
[^] # Re: Doublons ?
Posté par Arathor . Évalué à 1.
car seul toi peux dire quel fichier garder quand il y en a plusieurs.
Hum pourtant il y a le critère « choisir le plus gros » qui me semblait un besoin pas si inusuel que ça.
De toutes il semblerait que ça soit l'occasion pour moi de me mettre à Ruby… ;-)
# fdupes & co
Posté par Krunch (site web personnel) . Évalué à 5.
http://en.wikipedia.org/wiki/Fdupes
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: fdupes & co
Posté par Arathor . Évalué à 1.
Merci pour ta réponse (et des personnes au-dessus aussi, au passage :), je vais regarder ça.
[^] # Re: fdupes & co
Posté par dj_ (site web personnel) . Évalué à 2.
Ne marche que pour les fichiers identique, genre un pdf téléchargé 2 fois mais déplacé a 2 endroits différents
# Égalité
Posté par BFG . Évalué à 2.
Il faut que vous définissiez mieux l'"égalité" de fichiers. Comme les autres commentaires le montrent, on entend habituellement par égalité de deux fichiers le fait qu'il soit strictement identiques octet-à-octet (ce qui signifie qu'ils doivent avoir la même taille).
De ce que je comprends, vous avez des fichiers qui ont un contenu "équivalent" à vos yeux (globalement, la forme d'onde de certains fichiers mp3 est très similaire, ou bien leur ID3 est identique), mais certains ont plus de valeur que d'autres (encodage différent, meilleure qualité, préférable).
Il faudrait donc un script qui liste tous les ID3 possibles, qui groupent plusieurs fichiers mp3 ensemble s'ils ont le même ID3, puis pour chaque ID3, il ne garde que le fichier qui indique le meilleur encodage (ou le plus volumineux) du groupe.
# I'm bored
Posté par jiyuu . Évalué à 2.
Vu que je m'ennuyais, j'ai fait un petit script ruby.
Le script assume que les noms des fichiers dupliqués finissent par '(<chiffre>).<extension>'.
Ça va copier les fichiers dans un nouveau dossier (nommé par défaut 'tmp') sans touché aux fichiers d'origine.
Ça s'utilise comme ça:
ou
[^] # Re: I'm bored
Posté par Arathor . Évalué à 2.
Merci beaucoup pour ton aide :)
Perso je ne connais pas ruby, juste un tout petit peu python. Quand je lance ton script, ruby me répond :
% ruby1.8 tri. philessai
tri.rb:19: syntax error, unexpected '.', expecting $end
.map do |name,files|
^
J'ai essayé de comprendre, mais j'ai du mal à voir où est l'erreur puisque je parle pas le ruby ;)
[^] # Re: I'm bored
Posté par jiyuu . Évalué à 2.
C'est bizarre, "chezmoiçamarche" mais j'utilise ruby1.9 alors que ta version est la 1.8. Peut-etre que ça vient de là.
Sinon, il faut joindre la ligne où apparait l'erreur avec la ligne précédente. Comme ça:
et ça devrait marcher.
[^] # Re: I'm bored
Posté par Arathor . Évalué à 1.
Ça marche en effet :) Encore merci.
Maintenant je vais regarder pour adapter le script, parce que j'ai certains fichiers qui sont encore en double, y'a une version avec Album dans le nom de fichier.
Juste pour info, j'avais ce message d'erreur :
"undefined method exists for File:Class (NoMethodError)"
En googlant j'ai vu que des gens avaient le même soucis mais avec exists? :
http://www.google.fr/search?num=20&hl=fr&lr=lang_en|lang_fr&safe=off&tbs=lr%3Alang_1en|lang_1fr&q="undefined+method+exists+for+File%3AClass+(NoMethodError)"&aq=f&aqi=&aql=&oq=
Donc j'ai rajouté un ? et ça a marché.
[^] # Re: I'm bored
Posté par jiyuu . Évalué à 2.
Arf, oui, c'est une erreur de ma part /o\
En ruby, c'est une convention de mettre un point d'interrogation au nom des méthodes qui renvoient un booléen (et un point d'exclamation aux méthodes qui modifient leur receveur) et toutes les méthodes de la librairie standard suivent cette convention (enfin presque toutes pour le point d'interrogation).
Et pour l'excuse, c'est qu'en fait j'ai rajouté ce test au moment de la publication donc il n'a pas était testé. Ça m'apprendra.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.