Se placer dans le dossier contenant des fichiers dont le nom comporte au moins une espace.
La commande suivante remplace ces espaces par des caractères “souligné” (le tiret du 8).
for f in *\ *; do mv "$f" "${f// /_}"; done
Si ces noms contiennent après cela la séquence “_-_” et que vous voulez la remplacer par un simple tiret :
for f in *_-_*; do mv "$f" "${f//_-_/-}"; done
1 personne a visité cette page aujourd'hui et 1427 en tout.