Première bonne nouvelle : Je m'en suis enfin sorti en utilisant la quatrieme méthode proposée : le mv bête et méchant.
Il suffisait de revoir un tout petit peu la syntaxe pour que ca fonctionne
(le malheureux ; avant le done et le -T à changer)
for file in * ; do mv -f "$file" ${file// /_}; done
Excellent exercice pour un débutant soit dit en passant.
La mauvaise nouvelle c'est que j'ai toujours pas compris pour l'IFS posait problème. Le caractère /n devrait coder pour un retour chariot. Or dans les faits, il prend à la fois les retours chariot séparant les fichiers et les "n" des chaines de caractère.
Dans l'exemple que tu me donnes il faudrait voir ce qui se passe si un de tes fichier est sous la forme
aaa bbb cc
ncc ddddd
A mon avis ca poserait le même problème.
Le principal étant que je trouve une solution à mon problème, on peut considérer le problème comme résolu.
Merci beaucoup pour ton aide lami20j