Comment convertir un caractère ASCII en entier en bash?

10

J'analyse une sortie ntpq pour transmettre son contenu à notre base de données via l'utilitaire de console. Le premier élément est une sous-chaîne à un caractère contenant l'état de la télécommande. Il peut s'agir de "*", "+", "o", "#" etc. pour convertir un caractère en sa représentation ASCII en bash.

akalenuk
la source

Réponses:

17

Mettez votre personnage dans la variable A.

printf '%d\n' "'$A"

Quelques exemples:

$ A="*"; printf '%d\n' "'$A"
42
$ A="+"; printf '%d\n' "'$A"
43
$ A="#"; printf '%d\n' "'$A"
35
$ A="o"; printf '%d\n' "'$A"
111
suprjami
la source
Cela va probablement sans dire, mais la variable elle - même n'est pas nécessaire: par exemple printf '%d\n' "'*".
Sam Marinelli