Bonjour,

Sous linux et shell BASH j’essaie de faire les actions suivantes :

1: trouver les doublons de fichiers qui porte un nom semblables (pas de vrais doublons, uniquement doublon par un nom proche) avec la même extension (.mm dans ce cas)

2 lister le resultat de cette recherche dans 1 fichier avec 1 ligne par résultat dans l'ordre alphabétique des noms des fichiers (sans tenir compte des chemins des dossiers)

3 executer par une commande shell des actions diverses (renomage, suppression, déplacement etc..) sur ce fichier qui aura était expurger par suppression des lignes que je ne veux pas traiter.

Pour l'action 1
J'avais trouvé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
find ~/Documents/ShellEssais/Doublons -iname "*.mm" -type f  -printf '%s ;%c; ' -exec  /usr/bin/md5sum {}  \; |sed -e 's/ ./;/g'|sort -n -t";" -k1,3 > gros_fichier_doublons.csv
Qui conviendrait presque mais je ne veux pas trouver les doublons je veux simplement lister par ordre alphabétique les noms de fichiers et les envoyer avec le chemin dans un fichier .csv

Pour l'action 2
Je n'arrive pas à trouver l'instruction permettant de changer la forme du résultat de l'extraction obtenu par find. Je n'est pas encore compris comment utiliser printf

Pour l'action 3
J'ai trouvé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$ for doublon in `cat doublons.csv ` ; do rm -i $doublon; done
Mais je rencontre 2 problèmes
Comment depuis le fichier qui contient les colonnes diverses (inodes, chemins, taille, noms des fichiers) facilement ne retrouver que les noms des fichiers
et
Je ne sais pas réaliser le traitement sur les noms de fichiers avec un ou des espaces

Merci pour votre aide