当前位置: 移动技术网 > 网络运营>服务器>Linux > awk中实现ord函数功能

awk中实现ord函数功能

2017年12月12日  | 移动技术网网络运营  | 我要评论
在awk中并未直接提供ord函数,所以在将某个字符转换为码时,需要自己来实现 复制代码 代码如下: awk 'begin{for (i = 0; i < 256;

在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

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网