[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bash encoder contenu variable



Effectivement le shell peut être lourd mais, si on ne souhaite pas, on ne peut pas, on ne connait pas assez Perl, awk ou autre, il suffit d'écrire un petit script de translation qu'on appellera ensuite dans un pipe sur sed comme ça :
	# echo "mon texte accentué" | sed -f translation.sed 

avec, dans "translation.sed", une ligne par translation comme ceci :
...
s/ç/%E7/g
s/à/%E8/g
....

Dans ce cas, on enchaîne pas de shells les uns dans les autres. Donc, on ne charge absolument pas sa machine. C'est simplement sed qui utilise un fichier de commandes externes. On peut garder "translation.sed" si on veut pouvoir le ré-utiliser.

Voilà ce que ça donne :
	$ echo "Français à traduire" | sed -f /tmp/translation.sed
	Fran%E7ais %E8 traduire

La table complète des caractères Unicode peut se trouver ici :
	http://www.w3.org/TR/MathML2/bycodes.html

Cordialement

Le 16 mars 2014 à 18:45, prego jérémy <jeremy@prego-network.net> a écrit :

> 
> 
> Le 16/03/2014 18:39, Sébastien NOBILI a écrit :
>> Bonjour,
>> 
>> Le dimanche 16 mars 2014 à 17:53, prego jérémy a écrit :
>>   
>>> pour l'exemple de convertion
>>> $test contien "français" et il faut que ça sois converti en "fran%E7ais"
>>>     
>> C'est un boulot pour la commande sed.
>> 
>> Par exemple (pas testé) :
>>     test="français"
>>     test=`echo $test | sed s/"ç"/"%E7"/g`
>>   
> 
>> j'ai bien pensé a sed, mais vu que ça peut contenir tout un tat d'autre caractères ça va vite devenir lourd a écrire ...
>>   
> 
>> Note au passage que ce genre de manip en shell conduit à utiliser des
>> sous-shells et des tubes entre commandes. On arrive souvent à un code plus
>> propre et efficace avec un langage de script plus adapté (Perl, par exemple).
>> 
>>   
> jamais utilisé ce langage
> 
> jerem
> 
>> Seb
>> 
>>   
> 
> --
> Lisez la FAQ de la liste avant de poser une question :
> http://wiki.debian.org/fr/FrenchLists
> 
> Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
> vers debian-user-french-REQUEST@lists.debian.org
> En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
> Archive: [🔎] 5325E337.8010004@prego-network.net">https://lists.debian.org/[🔎] 5325E337.8010004@prego-network.net
> 

-- 
Pierre Malard

   « Le socialisme vrai ne veut pas renverser l'ordre des classes ;
   il veut fondre les classes dans une organisation du travail qui
   sera meilleure pour tous »
                            Jean Jaures - "Les misères du patronat" - 1890
        _,'|             _.-''``-...___..--';)
       /_ \'.      __..-' ,      ,--...--'''
      <\    .`--'''       `     /'
       `-';'               ;   ; ;
 __...--''     ___...--_..'  .;.'
(,__....----'''       (,..--''

perl -e '$_=q#: 3|\ 5-,3-3,2-: 3/,`.'"'"'`'"'"' 5-.  ;-;;,-:  |,A-  ) )-,_. ,\ (  `'"'"'-'"'"': '"'"'-3'"'"'2(-/--'"'"'  `-'"'"'\-): 22PLM::#;y#:#\n#;s#(\D)(\d+)#$1x$2#ge;print'
- --> Ce message n’engage que son auteur <--

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail


Reply to: