当前位置 博文首页 > awk中实现ord函数功能

    awk中实现ord函数功能

    作者:admin 时间:2021-02-20 15:44

    在awk中并未直接提供ord函数,所以在将某个字符转换为码时,需要自己来实现

    复制代码 代码如下:

    awk 'BEGIN{for (i = 0; i < 256; ++i) {ord[sprintf("%c", i)] = i;} }'  ' { print ord['a'];  ord ['b']; }'

    这里主要是构造了ord为key,val的数据结构,key为char字符,val对应的ascii码

    附:awk得到字母的ASC值实现

    复制代码 代码如下:

    -(dearvoid@LinuxEden:Forum)-(~/tmp)-
    [$$=18347 $?=0] ; cat foo.awk
    #!/bin/awk -f

    BEGIN {
        for (ii = 0; ii < 256; ++ii) {
            ch = sprintf("%c", ii);
            ascii[ch] = ii;
        }

        for (ii = 1; ii < ARGC; ii++) {
            print "ord(" ARGV[ii] " = " ascii[ARGV[ii]];
        }
    }
    -(dearvoid@LinuxEden:Forum)-(~/tmp)-
    [$$=18347 $?=0] ; ./foo.awk a b c 1 2 3
    ord(a) = 97
    ord(b) = 98
    ord(c) = 99
    ord(1) = 49
    ord(2) = 50
    ord(3) = 51
    -(dearvoid@LinuxEden:Forum)-(~/tmp)-
    [$$=18347 $?=0] ; bye

    js
下一篇:没有了