awk之比较ASCII字符

4230阅读 0评论2014-07-22 zooyo
分类:LINUX

一直没发现AWK有ASCII字符的比较, 或许是我不知道吧. 有更好的方法请告之.


  1. echo "Aa"|awk -F "" 'BEGIN{for(i=0;i<255;i++)a[sprintf("%c",i)]=i}{print a[$1]}'
  2. 65
  3. echo "Aa"|awk -F "" 'BEGIN{for(i=0;i<255;i++)a[sprintf("%c",i)]=i}{print a[$2]}'
  4. 97
[解析]
    事先建立一个ASCII的映射表, 用sprintf返回其ASCII字符, 然后作为下标赋予该数组的值, 后面的就是正常的查表. 谢谢waker老大的思路.
上一篇:sed之多行按条件合并为一行
下一篇:awk之数据类型