Как распечатать значение ASCII символа с помощью основного awk только

Я должен распечатать значение ASCII данного символа в awk только.

Ниже кода дает 0 как произведено:

echo a | awk '{ printf("%d \n",$1); }'
14
задан fedorqui 30 April 2015 в 08:43
поделиться

2 ответа

см. Руководство по awk для порядковых функций , которые вы можете использовать. Но поскольку вы используете awk, вы должны использовать какую-то версию оболочки, например, bash. так почему бы не использовать оболочку?

$ printf "%d" "'a"
97
10
ответ дан 1 December 2019 в 06:47
поделиться

Похоже, это нетривиальная проблема. Я нашел этот подход, используя поисковый массив, который должен работать как минимум для AZ:

 BEGIN { convert="ABCDEFGHIJKLMNOPQRSTUVWXYZ" } 
       { num=index(convert,substr($0,2,1))+64; print num }
5
ответ дан 1 December 2019 в 06:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: