linux命令巧用asc码

by katana


    awk是一个大家经常用到的命令,特别是处理字符串的时候,例如生成一个sql文件,这个时候需要输出单引号:

    echo "13800138000"|awk '{print "update table set field=1 where user_num='"$0"';"}'

    执行结果:

    update table set field=1 where user_num=-bash;

    加上转义符:

    echo "13800138000"|awk '{print "update table set field=1 where user_num=/'"$0"/';"}'

    不能执行

    awk如何输出单引号了?可以使用asc码

    echo "13800138000"|awk '{print "update table set field=1 where user_num=/047"$0"/047;"}'

    执行结果:

    update table set field=1 where user_num='13800138000';

    再例如capricorn提到的问题:

    str=`echo "10/Mar/2009" | awk -F// '{print $1"///"$2"///"$3}'` 

    如果使用asc码,就不存在出错的问题了

    str=`echo "10/Mar/2009" | awk -F// '{print $1"/134/057"$2"/134/057"$3}'` 

    echo -e命令可将asc转换为字符

    查看asc码对应的字符,可使用以下语句:

    i=1

    while [ $i -lt 500 ]

    do

       echo -e "$i : //$i"

       i=$(($i+1))

    done

    下面把常用的asc码对应的字符给大家分享一下:

    041:!

    042:"

    043:#

    044:$

    045:%

    046:&

    047:'

    040: (空格)

    077:?

    072::

    073:;

    074:<

    075:=

    076:>

    012:/n(换行)

    011:TAB

    051:)

    052:*

    053:+

    054:,

    055:-

    056:.

    057:/

    100:@

    134:/

    140:`

    174:|


    本文原创自无线技术运营空间: http://wireless.qzone.qq.com 及 http://blog.csdn.net/wireless_tech (专注无线技术运营——无线技术(操作系统/数据库/WEB前端/负载均衡/系统容灾/系统安全/短信接入/WAP接入/3G等)、无线业务运营、无线开放平台、统计分析(用户行为分析/数据挖掘)、CP合作,联系我们:1780551083@qq.com)

 

Logo

更多推荐