Como converter caracteres ASCII em integer no bash?

9

Estou analisando uma saída ntpq para passar seu conteúdo para nosso banco de dados via utilitário de console. O primeiro elemento é uma substring de um caractere contendo o status do controle remoto. Pode ser "*", "+", "o", "#" etc. É melhor eu colocá-lo no banco de dados como um número, para que ele possa ser facilmente mantido por procedimentos armazenados, mas não tenho ideia de como para converter um caractere em sua representação ASCII no bash.

    
por akalenuk 20.05.2013 / 12:40

1 resposta

14

Coloque seu personagem na variável A.

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

Alguns exemplos:

$ 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
    
por 20.05.2013 / 12:53

Tags