Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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