Questions générales sur Manjaro Linux.
S'il vous plaît, avant de poster, essayez la fonction de recherche du forum.
Répondre

Comment supprimer les Doublons

#1Messageil y a 1 an

:bjr: Bonsoir à tous,

J'ai un disque dur externe de 1To sur lequel je fais des sauvegardes, et comme je suis débutant ben je faire certainement n'importe quoi et je me retrouve avec des dossiers et fichiers en doublons voir plus :tetu!

Existe t'il un logiciel dans la logitek pour supprimer les doublons ou des lignes de commandes terminal pour remédier à ça.

Merci de vos réponses :salut:

Comment supprimer les Doublons

#2Messageil y a 1 an

déjà indique nous comment tu fais tes sauvegardes ...
par quel outil ou commande ?

Comment supprimer les Doublons

#3Messageil y a 1 an

Sans connaitre ton arborescence, difficile de répondre :mrgreen:

Tu m'as donné une idée d'un script, comparaison fichier/fichier:
- chercher tous les fichiers dans un répertoire
- les comparer (noms == et md5 ==)

Pas rapide si 1 million de fichiers :lol:
pas mal de faux positifs (exemple: même "licence.txt" dans plusieurs répertoires peut-être normal)

#!/usr/bin/env bash
version="0.2"  # passer dir au script
version="0.3"  # moins de commande "md5sum" ET exclure liens
directory="${1:-/home/$USER/Images/}"

declare -a fichiers
while read -r fichier; do
    [[ "$fichier" =~ '/.git/'  ]] && continue
    fichiers+=("$fichier")
done < <(find "$directory" -not -type d -type f -print)
echo -e "base de donné des ${#fichiers[@]} fichiers créée\n\nscan de \"$directory\" ..."

for i in "${!fichiers[@]}"; do
    fichier="${fichiers[i]}"
    fichier_short="${fichier##*\/}"
    unset md5
    ((i+=1))
    slice=("${fichiers[@]:i}")
    for f in "${slice[@]}"; do
        if [[ "$fichier_short" == "${f##*\/}" ]]; then
            if [ -z "$md5" ]; then
                md5=($(md5sum "$fichier"))
                md5="${md5[0]}"
            fi
            md5_f=($(md5sum "$f"))
            if [[ "$md5" = "${md5_f[0]}" ]]; then
                echo "${fichier} == $f    #même md5"
            fi
        fi
    done
done
Un (long) test du script

./test.sh ~/Documents/
base de donné des 14534 fichiers créée

scan de "/home/patrick/Documents/" ...
/home/patrick/Documents/patrick/Apareil Photo/Photo numérique au-delà du mode automatique.URL == /home/patrick/Documents/Documentation/Photo/Photo numérique au-delà du mode automatique.URL    #même md5
/home/patrick/Documents/Wp/cache/resource/image/card/new2c.png == /home/patrick/Documents/Wp/cache/skins/cards/new2c.png    #même md5
Dernière modification par papajokeil y a 1 an, modifié au total 2 fois.
Raison :v0.3 plus rapide

Comment supprimer les Doublons

#4Messageil y a 1 an

stephane a écrit : il y a 1 an déjà indique nous comment tu fais tes sauvegardes ...
par quel outil ou commande ?
:bjr: Bonjour Stéphane, je fais mes sauvegardes avec rescuezilla ou copier coller sur le DD externe.
papajoke a écrit : il y a 1 an Sans connaitre ton arborescence, difficile de répondre :mrgreen:


:bjr: Bonjour Papajoke, je suis novice comment faire pour montrer mon arborescence ??? si tu m'expliques comment faire je pourrais certainement le faire.

Merci pour votre aide :bien

Comment supprimer les Doublons

#5Messageil y a 1 an

Bonjour.
Tout dépend ce que tu veux inspecter. Si tu as par exemple /home/toto/ que tu as copié sur un autre volume monté dans /run/media/toto, ton arborescence est la racine du système nommée / . Autant dire que tu vas y passer des heures .... L'arborescence sera /run/media/toto/xxxyyyzzz/... a comparer avec /home/toto/
Si tu limites tes recherches de manières plus restrictives, par exemple le dossier Images, l’arborescence sera /home/toto/Images/.
Il existe la commande tree a installer qui montre l'arborescence en console, mais je n'en vois pas trop d'utilités dans ton cas.
Le script de Papajoke est intéressant, mais il faut modifier manuellement la ligne 2 directory="/home/toto/...." avant de le lancer.
Il y a des utilitaires dispos sur Aur comme Fslint, mais ce soft est ancien et est une véritable usine à gaz pour un résultat équivalent au script proposé par Papajoke.

Comment supprimer les Doublons

#6Messageil y a 1 an

:bjr: Bonjour Lemust83,

Merci beaucoup pour toutes ces informations, je vais y aller par étapes et je retourne le résultat, très intéressant pour moi débutant...

Comment supprimer les Doublons

#7Messageil y a 1 an

lemust83 a écrit : il y a 1 an Il y a des utilitaires dispos sur Aur comme Fslint
Merci pour l'info, grâce à ce nom j'ai trouvé czkawka (AUR) qui semble beaucoup plus rapide selon son comparatif.
script de Papajoke ..., mais il faut modifier manuellement la ligne 2 directory="/home/toto/...." avant de le lancer.
Oui, écrit "sur une serviette de table" :lol: , maintenant (v0.2), on passe le répertoire en paramètre
ps: c'est un bash non optimisé (acceptable avec moins de 5000 fichiers) donc préférez une vraie application compilée et bien optimisée :wink:

Comment supprimer les Doublons

#8Messageil y a 1 an

Pas mal ce kzawakaza..., zkazawk, kzakawkaczkawka ouf :gsourire: qui signifie "Hoquet".
J'ai essayé la version czkawka-gui-bin assez légère, dans la langue système et assez intuitive.
Bonne pioche :bien

Comment supprimer les Doublons

#9Messageil y a 1 an

Perso j'aurai dis Meld. Mais c'est vrai qu'il a l'air vraiment rapide (le Rust est vraiment un très beau language de plus en plus populaire).

czkawka semble suffisamment intéressant pour l'essayer. Par contre, pour le nom c'est pas top.

@papajoke
Oui, écrit "sur une serviette de table" :lol: , maintenant (v0.2), on passe le répertoire en paramètre
ps: c'est un bash non optimisé (acceptable avec moins de 5000 fichiers) donc préférez une vraie application compilée et bien optimisée :wink:
La vérification de la taille de deux fichiers identiques (=portant le même nom) serait une sécurité supplémentaire.
Répondre