Supprimer les espace et accents des fichiers à la volée en ligne de commandeC'est toujours plus simple de travailler sur des fichiers n'ayant pas d'espace dans leur nom, alors voici un petit script qui permet de remplacer à la volée les espaces par des "_".

#!/bin/sh
# Suppression des blancs dans les noms des
# fichiers du répertoire courant et remplacement
# par des "_" factorisés.
# Mémoire à Jeanmm pour ce script.
for a in * ;do
b=$(echo "$a" | tr " " _ | tr --squeeze-repeats _ _ )
if [ "$a" != "$b" ] ; then
echo "mv \"$a\" $b"
mv "$a" $b
fi
done

On peut améliorer le script pour remplacer également les accents (é, è, à, ô, û; ù...)

D'une manière générale, il est préférable d'éviter les accents et espaces sur les noms de fichier, c'est un principe de base.
Rappel: on rend exécutable un script par un "chmod +x" et on le lance par un "./nom_du_script".

Base d'une boucle (for, do, done) et d'un script: Punition de mon fils