En python (vlns) :
#! /usr/bin/python import os, string
#récupère le répertoire courant rep = os.getcwd()
#charge les fichiers du répertoire rep = répertoire courant liste = os.listdir(rep)
#balaye la liste de fichier for fichier in liste:
#chaque nom de fichier est décomposé en une liste si il comporte des espaces
fichiereclate = string.split(fichier)
#puis la liste est agglomérer avec un _
sansespace = string.joinfields(fichiereclate,'_')
#si le nom de fichier de base à été modifié, cela veut dire qu'il possédait des espaces
if fichier!=sansespace: print fichier +" " + sansespace os.rename(fichier,sansespace)
En shell (SylvainB) :
for i in * ; do mv "$i" `echo $i | tr "àçéèêëîïôöùüÂÇÉÈÊËÎÏÔÖÙÜ " "aceeeeiioouuACEEEEIIOOUU_"` ;
Méthode pour passer les noms de fichiers de majuscules en minuscules :
for i in *; do mv $i `echo $i | tr '[A-Z]' '[a-z]'`;done
Vu sur knoppixfr.org
merci aux contributeurs