免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5223 | 回复: 11
打印 上一主题 下一主题

[文本处理] 请教二进制类型文本中分隔符是^Q, 我怎么判断呀 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-10-30 15:22 |只看该作者 |倒序浏览
本帖最后由 Auroracxy 于 2014-10-30 15:25 编辑

文本类型是二进制的,用vi打开是下面这个样子,我想用awk来处理以^Q为分隔符,怎么办呢?

[INFO] - 9^Q1414638531391^Qrealtest^Q194140^Qsea.xiao


论坛徽章:
4
程序设计版块每日发帖之星
日期:2015-10-14 06:20:00每日论坛发贴之星
日期:2015-10-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-02 06:20:00程序设计版块每日发帖之星
日期:2016-05-08 06:20:00
2 [报告]
发表于 2014-10-30 15:29 |只看该作者
用vi修改成\t?回复 1# Auroracxy


   

论坛徽章:
4
程序设计版块每日发帖之星
日期:2015-10-14 06:20:00每日论坛发贴之星
日期:2015-10-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-02 06:20:00程序设计版块每日发帖之星
日期:2016-05-08 06:20:00
3 [报告]
发表于 2014-10-30 15:32 |只看该作者
^Q怎么输入
回复 1# Auroracxy


   

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2014-10-30 15:39 |只看该作者
回复 3# mswsg


程序生成的这种日志, 我查到下面这种资料(ASCII and derivatives)
Seq        Dec        Hex        Acronym        Symbol        Name
^Q        17        11        DC1                ␑                        Device Control One (XON)

论坛徽章:
0
5 [报告]
发表于 2014-10-30 16:25 |只看该作者
本帖最后由 culhw 于 2014-10-30 16:26 编辑

回复 3# mswsg Ctrl按住不放,依次按V Q


   

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
6 [报告]
发表于 2014-10-30 18:03 |只看该作者
回复 1# Auroracxy

^Q = ASCII 0x11 (is non-print character)
^Q ==> [Ctrl] + V + Q in command line or vi

$ hexdump -C file
00000000  5b 49 4e 46 4f 5d 20 2d  20 39 11 31 34 31 34 36  |[INFO] - 9.14146|
00000010  33 38 35 33 31 33 39 31  11 72 65 61 6c 74 65 73  |38531391.realtes|
00000020  74 11 31 39 34 31 34 30  11 73 65 61 2e 78 69 61  |t.194140.sea.xia|
00000030  6f 0a                                             |o.|
00000032

$ awk -F'^Q' '{for(n=1;n<=NF;n++)print "$"n"="$n}' file
$1=[INFO] - 9
$2=1414638531391
$3=realtest
$4=194140
$5=sea.xiao

   

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2014-10-30 18:16 |只看该作者
本帖最后由 Auroracxy 于 2014-10-30 18:18 编辑

回复 6# jason680


import.zip (524 Bytes, 下载次数: 2)

您看下附件这个文件,我用您的命令好像没起作用

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
8 [报告]
发表于 2014-10-30 18:34 |只看该作者
本帖最后由 jason680 于 2014-10-30 18:36 编辑

回复 7# Auroracxy

No issue and work fine

Notice again: ^Q = ASCII 0x11 and using [Ctrl] + V + Q in command line

1. using ASCII 0x11 if your awk can work fine
$ awk -F'\x11' '{for(n=1;n<=NF;n++)print "$"n"="$n}' import.log

2. using ^Q by [Ctrl] + V + Q
$ awk -F'^Q' '{for(n=1;n<=NF;n++)print "$"n"="$n}' import.log
$1=11
$2=1414512021649
$3=realtest
$4=0
$5=
$6=5E46429E35482CB76B87A6F49F6343BF
$7=.show.
$8=Area.getTotals
$9=
$10=zh
$11=default
$12=/tpl/html/zh//show/Area/getTotals.jsp
$13=http://realauto.testin.cn/show.action?op=Area.index&modelId=1797&type=adapt.testin
$14=http://re.test.cn/json/show.action?op=Area.getTotals
$15=op=Area.getTotals&modelId=1797&
$1=210
$2=1414512026288
$3=realtest
$4=193991
$5=752724391@qq.com
$6=C7F50200995ccddc7e1e021547bec33e4731c346
$7=.nativeapp.
$8=Report.testRecap
$9=
$10=zh
$11=default
$12=/tpl/html/zh//nativeapp/Report/testRecap.jsp
$13=http://realauto.testin.cn/nativeapp.action?op=App.list
$14=http://re.test.cn/nativeapp.action?op=Report.testRecap&adpId=20244557
$15=adpId=20244557&op=Report.testRecap&
$1=8
$2=1414512026973
$3=realtest
$4=193991
$5=752724391@qq.com
$6=C7F50200995ccddc7e1e021547bec33e4731c346
$7=.nativeapp.
$8=App.getMsgCache
$9=
$10=zh
$11=default
$12=/tpl/html/zh//nativeapp/App/getMsgCache.jsp
$13=http://realauto.testin.cn/nativeapp.action?op=Report.testRecap&adpId=20244557
$14=http://re.test.cn/json/nativeapp.action?op=App.getMsgCache&rd=0.9168235077770649
$15=rd=0.9168235077770649&op=App.getMsgCache&

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2014-10-30 18:56 |只看该作者
回复 8# jason680


    了解了 谢谢

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
10 [报告]
发表于 2014-10-30 19:00 |只看该作者
回复 8# jason680


    另外还想问下[Ctrl] + V + Q 这个资料是从哪里获取的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP