#1 Le 31/03/2011, à 17:39
- got_69
Script suppression accent avec tr
Bonjour,
dans un script j'esai de supprimer els accents d'un nom de fichier pour ceci je veux utiliser la commande :
tr '[éàèôù]' '[eaeou]'
le serveur tourne sur ubuntu 10.04 et j'utilise putty pour y accéder en ssh
Si putty est en charset ISO-8859-1:1998, jarrive à tester la commande dans la console :
echo "OGvue télécommand _0102.jpg" | tr '[éàèôù]' '[eaeou]'
m'enlève bien les accents
Par contre si putty est en UTF-8 le script ne marche pas et me renvoi
OGvue_t]al]acommand__0102.jpg
Cependant si je veux pouvoir écrire la commande dans un script j'édite mon script avec VI et là putty doit être en utf 8 pour écrire des accent via VI !!!!
premier point bizarre !!
Ensuite quelque soit le mode de putty (enfin j'ai testé que ces 2) la commande inséré dans un script ne marche pas...
pourtant dans ce script si je fait un "bete"
b=$(echo "$FILE" | tr " " "_"
j'ai bien mes espace remplacés par des _
Est ce que quelqu'un a une idée? ces histoires de codage c la misère!!!
Merci!
Hors ligne
#2 Le 01/04/2011, à 16:34
- Levi59
Re : Script suppression accent avec tr
Pour le premier je ne sais pas mais pour la substitution :
b=$(echo "$FILE" | tr " " "_")
peut etre remplacé par
b="${FILE// /_}"
Hors ligne
#3 Le 02/04/2011, à 12:24
- ehmicky
Re : Script suppression accent avec tr
Pour le premier, c'est parce que tr ne fonctionne qu'octet par octet, et donc donnera des résultats surprenants sur des caractères multi-octets. é ne prend qu'un octet en Latin1, donc ça marche, mais en prend deux en UTF-8.
Essaie rename qui est prévu pour ça.
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#4 Le 02/04/2011, à 13:10
- clahor
Re : Script suppression accent avec tr
bonjour
il y a aussi le paquet unaccent qui enleve les accents des noms de fichiers.....( voir aussi detox )
Hors ligne