awk中实现ord函数功能
在awk中并未直接提供ord函数,所以在将某个字符转换为码时,需要自己来实现
awk'BEGIN{for(i=0;i<256;++i){ord[sprintf("%c",i)]=i;}}' '{printord['a']; ord['b'];}'
这里主要是构造了ord为key,val的数据结构,key为char字符,val对应的ascii码
附:awk得到字母的ASC值实现
-(dearvoid@LinuxEden:Forum)-(~/tmp)- [$$=18347$?=0];catfoo.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.awkabc123 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