Bonjour,
je cherche a afficher un caractere ascii a partir de son code ascii décimal en shell.
J'ai vu qu'on peut le faire a partir de l'octal ou du hexadecimal, mais est-ce possible "simplement" a partir du code decimal
ex:
code ascii 199, caractere Ç
comment faire un "echo ... 199" qui me renvoit le Ç ?
Merci d'avance.
PS: Je suis en shell ksh, le perl ou python, ou autre ne m'interresse pas, merci.
# En lisant les manpages =)
Posté par TiTiX . Évalué à 2.
il nous faut donc le code octal du Ç : \307
$ echo -e "\307"
Ç
pour récupérer le code octal tu peux éventuellement te servir de hexdump :
echo Ç | hexdump -b
--
TiTiX
[^] # Re: En lisant les manpages =)
Posté par Paddle . Évalué à 1.
merci deja pour ta reponse. Pour le RTFM, c'etait deja fait...
J'avais bien trouvé le echo "\0307" (-e marche pas, je suis sous Solaris 5.9/ksh), mais je n'arrive pas a obtenir la valeur octale a partir du code en decimal.
J'ai essayé avec od, mais je n'y arrive pas.
Et hexdump n'existe pas sous mon os (ou pas installé, ce qui revient au meme pour moi :-/ )
Cordialement
[^] # Re: En lisant les manpages =)
Posté par totof2000 . Évalué à 4.
bc est ton ami (en italique la réponse de bc)
En interactif :
$ bc
ibase=10
obase=8
133
205
199
307
Pour inclure dans un script:
$ echo "ibase=10\n obase=8\n 199\n" | bc
307
[^] # Re: En lisant les manpages =)
Posté par tgl . Évalué à 3.
[^] # Re: En lisant les manpages =)
Posté par totof2000 . Évalué à 2.
echo "ibase=16;`ifconfig en0 | awk '/inet/ {print $4}' |sed 's/\([0-9a-f][0-9a-f]\)/\1\;/g;s/0x//;y/abcdef/ABCDEF/'`"| bc |awk '
BEGIN {RS="\$"}
{print $1"."$2"."$3"."$4}'
[^] # j'avais lu un peu vite
Posté par TiTiX . Évalué à 2.
echo " ibase=10 ; obase=8 ; 199 " | bc
307
Il existe certainement d'autres moyens,
--
TiTiX
[^] # Re: j'ai ma reponse!
Posté par Paddle . Évalué à 1.
J'ai ce que je voulais grace à vous:
CaractereAscii=$(echo "\0$(echo " ibase=10 ; obase=8 ; ${CodeAsciiDecimal} " | bc)")
Merci encore :)
(j'aime ce forum!)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.