Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

bash encoder contenue variable

5 réponses
Avatar
prego jérémy
bonjour,

je cherche a encoder simplement le contenu d'une variable

j'ai bien trouv=E9 un tat de choses pour encoder depuis un fichier, mais=20
rien pour du texte directement dans une variable.

pour l'exemple de convertion
$test contien "fran=E7ais" et il faut que =E7a sois converti en "fran%E7a=
is"

merci d'avance

--
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: https://lists.debian.org/5325D6F6.5020302@prego-network.net

5 réponses

Avatar
Sébastien NOBILI
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`

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).

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
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
prego jérémy
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'a utre 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 e xemple).




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
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Bzzz
On Sun, 16 Mar 2014 18:39:42 +0100
Sébastien NOBILI wrote:

On arrive souvent à
un code plus propre et efficace avec un langage de script plus
adapté (Perl, par exemple).



Voire, si la VAR est conséquente, passer par un fichier temporaire
et un appel system de iconv.

--
Dahns : 1) J'ai une collection de près de 1 000 mangas :D
Dahns : 2) J'ai une armure médiévale et des épées de ta ré :D
Dahns : 3) Et j'écris un livre ! Mouhahaha !!
Adrien : ... Toujours pas de copine, Dahns ?
Dahns : Je te méprise.

--
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
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Pierre Malard
--Apple-Mail=_6E5C434F-D6D5-4988-B54D-7F1D2F52182E
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=windows-1252

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 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
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/




--
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 <--


--Apple-Mail=_6E5C434F-D6D5-4988-B54D-7F1D2F52182E
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename=signature.asc
Content-Type: application/pgp-signature;
name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org

iQIcBAEBCgAGBQJTJe1oAAoJELzRDw+wKgIyN74QAIvBSmcxSQPsN+hC875yIgfP
6zQH2jqfWa49JkO3fRBfRjR01lofh2MDYn4DHWoG5Gr9B2n9bu5GC17SzKqvIbHK
GyreGQ1Gcla0hrGyIHXZk2yZ7R/NLxHjN3daDoziTItKOSag0D1lfrNHCd3+eaRD
7cGzDhbBR+TjyqRfdgufcEgxSycOzH+uTlMKzLVp5taH2D4Oq+qDI8XgGGmaXfVM
u79KCpbtFF0v1HoI9of37G/loYUD1bxTUbNPnWIdToDYCvJTAdK5U26bhh26r6p6
Y/aUL0mi6c0oaa8tx3WKFih2k1kDOmEE2uehZ3Tk1J0PQ66NHwjLKl5jdKn+JdEx
luPxDVngsr+GXq+ZcMu5tTyNaQbZamMZkNK5Yb4Cd6WgX9SCeTmgLN/tYqdd+oEW
joLY2rQKJPxO2Kl2SkPvltiX3CA5PBBwJhDDBzzI2YjnADeG2OgECdJWRGTXukFG
oE5eOu9jcMZUdcgY4QIIik9JrAkDWr6l8dW5AA0RLvQo71W3QCOB8Mvm9DtBIOi8
l7a177RX3iZ5MPqCU2M2KYpnrgU+OTCVIb4WyEV84IBH//Kaezs7eYRmN5scSs/t
mdNz+WoTXc7mF65c05xURLfGSy+NM2vGkrL6F67Iv+2J991v3RMT74I+zrpF331c
gmrEro3wPAAqxOdoSZQf
=Q3p9
-----END PGP SIGNATURE-----

--Apple-Mail=_6E5C434F-D6D5-4988-B54D-7F1D2F52182E--

--
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
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Jérôme
Le Sun, 16 Mar 2014 18:45:27 +0100,
prego jérémy a écrit :

jamais utilisé ce langage

jerem



Il n'est jamais trop tard pour commencer ;)

N'importe quel langage du même type, rapide à mettre en œuvr e : python,
lua, ruby...

--
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
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/