o awk converterá silenciosamente strings em números. Qual número? O número que você obtém digitando os dígitos decimais iniciais da string (pode ser apenas ""
, se a string estiver vazia ou não começar com nenhum dígito decimal, como é o caso de "A"
) e convertendo-os para um número. ""
é convertido em 0
. Então, todos esses seriam convertidos em 0
:
- "0"
- "0text"
- "texto"
- ""
o awk apenas converte strings em números dessa forma quando um número é necessário. Em "0text" + 1
, um número é necessário, então o resultado será 1
. Em apenas "0text"
, um número não é necessário, portanto, nenhuma conversão ocorre. Em printf("%d", "0text")
, um número é novamente necessário, então a string será convertida em um número.
O que você está procurando é uma função ord
, que não é uma função nativa no awk. A documentação do gawk descreve como escrever tal função no awk.