免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 786 | 回复: 3

[文本处理] ascii 97 a 字符 [复制链接]

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-05-11 06:20:00操作系统版块每日发帖之星
日期:2016-05-12 06:20:00每日论坛发贴之星
日期:2016-05-12 06:20:00操作系统版块每日发帖之星
日期:2016-05-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-31 06:20:00每日论坛发贴之星
日期:2016-05-31 06:20:00
发表于 2019-01-22 08:37 |显示全部楼层
本帖最后由 1cpuer 于 2019-01-22 09:43 编辑

https://blog.csdn.net/c20130911/article/details/73187757

还看了这
http://blog.sina.com.cn/s/blog_87bbe37e01012kkp.html

脚本:
#.: 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]];
    }
}



#.: awk -f 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

#.: awk 'BEGIN { for (ii = 0; ii < 256; ++ii) { ch = sprintf("%c", ii); ascii[ch] = ii; } for (ii = 1; ii < ARGC; ii++) { printf "ord(" ARGV[ii] ") = " ascii[ARGV[ii]]; }}' 1 2
ord(1) = 49ord(2) = 50

如上是不支持 echo "1 2 a bc" 等,awk 自带变量 ARGC[] 指作用文件
为了调试方便转了整行

使用 sed

sed 's/[ \t]/ /g;:1;N;s/\n//;t1' foo.awk #------有问题的,指点一下
搞了一个
#.: sed ':1;N;s/\x0a\|\x20\x20*/ /g;t1' 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++) { printf "ord(" ARGV[ii] ") = " ascii[ARGV[ii]]; } }
### --


论坛徽章:
0
发表于 2019-01-22 16:17 |显示全部楼层
powershell:

[int][char]'a' #返回97


[char]97 #返回a

论坛徽章:
5
白羊座
日期:2014-10-28 11:23:27水瓶座
日期:2015-01-20 10:19:022015亚冠之柏斯波利斯
日期:2015-07-11 18:17:2015-16赛季CBA联赛之同曦
日期:2015-12-23 12:38:582016猴年福章徽章
日期:2016-02-18 15:30:34
发表于 2019-01-22 18:58 |显示全部楼层
  1. BEGIN {
  2.     for (ii = 0; ii < 256; ++ii) {
  3.         ch = sprintf("%c", ii)
  4.         ascii[ch] = ii
  5.     }
  6.     for (ii = 1; ii < ARGC; ii++) {
  7.         if(length(ARGV[ii])>1){break}
  8.         print "ord(" ARGV[ii] ") = " ascii[ARGV[ii]];
  9.     }
  10.     FS=""
  11. }
  12. {
  13.     for(i=1;i<=NF;++i){
  14.         print "ord(" $i ") = " ascii[$i];
  15.     }
  16. }
复制代码

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-05-11 06:20:00操作系统版块每日发帖之星
日期:2016-05-12 06:20:00每日论坛发贴之星
日期:2016-05-12 06:20:00操作系统版块每日发帖之星
日期:2016-05-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-31 06:20:00每日论坛发贴之星
日期:2016-05-31 06:20:00
发表于 2019-01-23 12:42 |显示全部楼层
回复 3# klainogn

#,; PWD=/mnt/i/je-d/sou-d
10975  # 2019-01-23 12:33:33 1548218013 # awk -f 1.foo.awk 1 2 3
ord(1) = 49
ord(2) = 50
ord(3) = 51
awk: 1.foo.awk:10: fatal: cannot open file `1' for reading (No such file or directory)
#,; PWD=/mnt/i/je-d/sou-d
10976  # 2019-01-23 12:33:36 1548218016 # echo 123 | awk -f 1.foo.awk
ord(1) = 49
ord(2) = 50
ord(3) = 51
#,; PWD=/mnt/i/je-d/sou-d
10977  # 2019-01-23 12:33:58 1548218038 # cat -n 1.foo.awk
     1  BEGIN {
     2      for (ii = 0; ii < 256; ++ii) {
     3          ch = sprintf("%c", ii)
     4          ascii[ch] = ii
     5      }
     6      for (ii = 1; ii < ARGC; ii++) {
     7          if(length(ARGV[ii])>1){break}
     8          print "ord(" ARGV[ii] ") = " ascii[ARGV[ii]];
     9      }
    10      FS=""
    11  }
    12  {
    13      for(i=1;i<=NF;++i){
    14          print "ord(" $i ") = " ascii[$i];
    15      }
    16  }



您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

数据风云,十年变迁
DTCC 第十届中国数据库技术大会已启航!

2019年5月8日~5月10日,由IT168旗下ITPUB企业社区平台主办的第十届中国数据库技术大会(DTCC2019),将在北京隆重召开。大会将邀请百余位行业专家,就热点技术话题进行分享,是广大数据领域从业人士的又一次年度盛会和交流平台。与SACC2018类似,本届大会将采用“3+2”模式:3天传统技术演讲+2天深度主题培训。大会不仅提供超100场的主题演讲,还会提供连续2天的深度课程培训,深化数据领域的项目落地实践方案。
DTCC2019,一场值得期待的数据技术盛会,殷切地希望您报名参与!

活动入口>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP