Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Caractère bizarre à remplacer avec sed
Envoyé par: hobbi1

Bonsoir,

J'ai récupéré un DVD avec des noms de fichiers dans des répertoires avec un caractère bizarre qui doit provenir d'accents sous Windows.

Et donc, sous Ubuntu, ca me met : �

Pour les copier sur mon PC, je veux les renommer "normalement" !
je fais donc dan un bash :
good=`echo "$i" | sed s/[^0-9a-zA-Z\/]/_/g`

Ca me remplace bien les espaces, par ex, par "_" mais laisse toujours le caractère bizarre
J'ai essayé plein de trucs différents et je n'ai plus d'idées !
Help !!! #%b

Poste le Monday 3 March 2008 20:04:01
Répondre     Citer    
Re: Caractère bizarre à remplacer avec sed

C'est peut-être (des noms de fichiers unicode encodés) en UTF8, mais je n'ai pas de solution...

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Monday 3 March 2008 21:17:14
Répondre     Citer    
Re: Caractère bizarre à remplacer avec sed
Envoyé par: zouloutango

Citation
hobbi1
Bonsoir,

J'ai récupéré un DVD avec des noms de fichiers
dans des répertoires avec un caractère bizarre qui
doit provenir d'accents sous Windows.

Et donc, sous Ubuntu, ca me met : �

Pour les copier sur mon PC, je veux les renommer
"normalement" !
je fais donc dan un bash :
good=`echo "$i" | sed
s/[^0-9a-zA-Z\/]/_/g`

Ca me remplace bien les espaces, par ex, par "_"
mais laisse toujours le caractère bizarre
J'ai essayé plein de trucs différents et je n'ai
plus d'idées !
Help !!!

Essaye:
good=`echo "$i" | sed 'y/äàáâçéèêëîíïôöùüÂÀÇÉÈÊËÎÏÔÖÙÜ/aaaaceeeeiiioouuAACEEEEIIOOUU/'`

Problème quand cron lance mon script sed ne marche plus et me sort cette erreur
sed: -e expression #1, char 91: strings for `y' command are different lengths

Poste le Thursday 20 March 2008 04:37:25
Répondre     Citer    
Re: Caractère bizarre à remplacer avec sed
Envoyé par: bheadman

Citation
zouloutango
hobbi1 a écrit :Bonsoir,

J'ai récupéré un DVD avec des noms de fichiers
dans des répertoires avec un caractère bizarre
qui
doit provenir d'accents sous Windows.

Et donc, sous Ubuntu, ca me met : �

Pour les copier sur mon PC, je veux les renommer
"normalement" !
je fais donc dan un bash :
good=`echo "$i" | sed
s/[^0-9a-zA-Z/]/_/g`

Ca me remplace bien les espaces, par ex, par "_"
mais laisse toujours le caractère bizarre
J'ai essayé plein de trucs différents et je n'ai
plus d'idées !
Help !!!

Essaye:
good=`echo "$i" | sed
'y/äàáâçéèêëîíïôöùüÂÀÇÉÈÊËÎÏÔÖÙÜ/aaaaceeeeiiioouuA
ACEEEEIIOOUU/'`

Problème quand cron lance mon script sed ne marche
plus et me sort cette erreur
sed: -e expression #1, char 91: strings for `y'
command are different lengths

Poste le Thursday 27 March 2008 15:48:50
Répondre     Citer    
Re: Caractère bizarre à remplacer avec sed
Envoyé par: bheadman

Il manque mon explication désolé ^o^ la voici :

Le problème de cette commande c'est que tu remplace exactement cette chaine de carractére äàáâçéèêëîíïôöùüÂÀÇÉÈÊËÎÏÔÖÙÜ par celle-ci aaaaceeeeiiioouuAACEEEEIIOOUU et non un des caractère complexe par son homologue simplifé !!

Poste le Thursday 27 March 2008 15:49:49
Répondre     Citer    
Re: Caractère bizarre à remplacer avec sed
Envoyé par: oudoubah

Il faudrait utiliser tr

Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Friday 28 March 2008 09:18:35
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Caractère bizarre à remplacer avec sed
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons