Re: rennommer des fichiers en masse
Nicolas Roudninski a écrit :
> Bonjour à tous,
>
> J'ai un problème, sans doute de débutant, mais je n'arrive pas à m'en
> sortir.
>
> Mon problème :
> J'ai une assez large collection de musique organisée en répertoires et
> sous-répertoires du style "artiste/album/fichier_audio"
> Cette collection est sur un serveur debian lenny et j'utilise
> tincanjukebox (php, javascript) pour écouter mes morceaux préférés.
> TinCanjoukebox n'aime pas deux choses : les espaces dans les noms de
> répertoire et de fichier et les caractères accentués.
>
> Je cherche donc un moyen de renommer en masse et récursivement tous les
> répertoires et fichiers pour :
> - remplacer les espaces par des _
> - remplacer les caractères accentués par les mêmes caractères sans
> accent (i-e é par e, É par E, etc.)
> Je suis en utf-8
>
> J'ai bien essayé "find /opt/audio/ -name "*" -exec rename 's/\s+/_/g' {}
> \;" mais ça ne fonctionne pas.
>
> Quelqu'un aurait-il une piste ?
>
> Cordialement,
>
> Nicolas Roudninski
>
> --
> Nicolas Roudninski
> nicolas@tycho.fr
>
> S'il vous plaît, évitez de m'envoyer des pièces jointes au format Word
> ou PowerPoint.
> Voir http://www.gnu.org/philosophy/no-word-attachments.fr.html
Personnellement, j'écrirais un script en utilisant le remplacement de
sous-chaîne, un peu comme ça :
> for file in *
> do
>
> newname=${file// /_}
>
> mv "$file" "$newname"
>
> done
Il faut ensuite écrire un truc similaire pour les caractères non ASCII,
et faire en sorte qu'il parcours les répertoires, mais dans le principe
ça reste simple.
Reply to: