しかし、awk を使い初めて十年以上になるが、実際に必要になったのは初めてだった。無いと不便だが、必要になること自体が無かった。自身で書いても比較的簡単に出来る。
% cat upper2int.awk
function upper2int(ch)
{
return index("ABCDEFGHIJKLMNOPQRSTUVWXYZ", ch) + 64
}
index 関数に差分を足す。今回は大文字のみが必要だったので、これで事が足りた。
先頭の文字のみを変換するテスト。
% cat test.awk
{ print upper2int(substr($0, 1, 1)) }
% nawk -f upper2int.awk -f test.awk
A
65
B
66
ABCD
65
abcd
64
^D
セコメントをする