Le 12/02/2011 02:43, Alexandre VERNIOL a écrit :
Le 11/02/2011 22:19, Julien GIMENEZ a écrit :
Le
08/01/2011 09:09, Daniel Cartron a écrit :
Le samedi 8 janvier 2011, Yann Cochard a
écrit :
mv "pr*paration.ods" "préparation.ods"
super, ça marche. Faut les faire les uns après les autres mais
bon c'est déjà
pas mal
il y a des commandes pour ça
rename
utfconvert
sinon pour rester avec mv le traitement peut se faire avec
find/while/read mixé avec tr
---
Liste de discussions de LinuxArverne
http://wiki.linuxarverne.org/listes_de_diffusion
Bash commande one shoot évitant les caractères accentués dans les
noms de fichier :
for i in $(ls);do mv ${i} $(echo "$i" |sed 'y/àçéèëêïîöôùüûÀÇÉÈËÊÏÎÖÔÙÜÛ/aceeeeiioouuuACEEEEIIOOUUU/');done
Liste les fichiers et renomme ceux avec des caractères étranges ( àçéèëêïîöôùüûÀÇÉÈËÊÏÎÖÔÙÜÛ ) par des caractères exploitables (
aceeeeiioouuuACEEEEIIOOUUU )
Mettre le tout dans un alias (dans .bashrc) :
alias caract=`for i in $(ls);do mv ${i} $(echo "$i" |sed 'y/àçéèëêïîöôùüûÀÇÉÈËÊÏÎÖÔÙÜÛ/aceeeeiioouuuACEEEEIIOOUUU/');done`
Et comme ça tu as juste a taper caract et ça exécute l'ensemble de la commande dans le dossier courant.
Alex
on ne peut pas forcément identifier les caractères à exclure ...
pourquoi tu ne factorises pas tes *grasses* lignes en robe de soie
péruviennes par des a-z etc, avec tr par exemple, c'est plus adéquat
pour les transpositions, c'est fait pour
après ça peut être des incompatibilités de codage
d'où
find . -maxdepth 1 | while read l ; do mv -iv "${l}" `echo ${l} |
iconv -f utf-8 -t iso-8859-15` ; done
-mais le résultat peut être violent-
en inversant utf-8 & iso-8859-15 selon besoin propre à chacun
même si nous avons tant de chose à faire ce weekend jusqu'à la cité
d'émeraude
cordialement
|