Я должен распечатать значение ASCII данного символа в awk только.
Ниже кода дает 0
как произведено:
echo a | awk '{ printf("%d \n",$1); }'
см. Руководство по awk для порядковых функций , которые вы можете использовать. Но поскольку вы используете awk, вы должны использовать какую-то версию оболочки, например, bash. так почему бы не использовать оболочку?
$ printf "%d" "'a"
97
Похоже, это нетривиальная проблема. Я нашел этот подход, используя поисковый массив, который должен работать как минимум для AZ:
BEGIN { convert="ABCDEFGHIJKLMNOPQRSTUVWXYZ" }
{ num=index(convert,substr($0,2,1))+64; print num }