一直没发现AWK有ASCII字符的比较, 或许是我不知道吧. 有更好的方法请告之.
-
echo "Aa"|awk -F "" 'BEGIN{for(i=0;i<255;i++)a[sprintf("%c",i)]=i}{print a[$1]}'
-
65
-
echo "Aa"|awk -F "" 'BEGIN{for(i=0;i<255;i++)a[sprintf("%c",i)]=i}{print a[$2]}'
-
97
[解析]
事先建立一个ASCII的映射表, 用sprintf返回其ASCII字符, 然后作为下标赋予该数组的值, 后面的就是正常的查表. 谢谢waker老大的思路.
阅读(842) | 评论(0) | 转发(0) |