免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 3021 | 回复: 33

[文本处理] 如何从文本中分片处理? [复制链接]

论坛徽章:
0
发表于 2017-01-17 09:14 |显示全部楼层
  1. creationTime: 1484312794076
  2.         resourceKindKey: VMFolder
  3.             value: group-v5482
  4.             value: C194F321-185C-4D80-B053-14F64CD18AD4
  5.           resourceState: STARTED
  6.       identifier: 63670632-0a16-4bf7-8f23-6258d709d814
  7.       creationTime: 1484315969901
  8.         resourceKindKey: VirtualMachine
  9.             value: Win2008R2X64
  10.             value: vm-47525
  11.             value: 8DE00B8C-8E04-4DE1-A344-59CE5BF160E9
  12.           resourceState: STARTED
  13.       identifier: 63673f69-8d80-477f-aa09-e00a6f4fcfc8
  14.       creationTime: 1484315969901
  15.         resourceKindKey: VMFolder
  16.             value: group-v38676
  17.             value: 8DE00B8C-8E04-4DE1-A344-59CE5BF160E9
  18.           resourceState: STARTED
  19.       identifier: 6373b92e-f07d-448c-9384-077c4aabb54e
  20.       creationTime: 1484316466900
  21.         resourceKindKey: VirtualMachine
  22.             value: Win7X64
  23.             value: vm-332
  24.             value: D144C37A-6F12-49ED-BEDC-906BF1F03575
  25.           resourceState: STARTED
  26.       identifier: 63742ecf-446f-4981-8296-e64ae362e7e6
  27.           creationTime: 1484317468278
  28.         resourceKindKey: VM Entity Status
  29.           resourceState: STARTED
  30.       identifier: 0e6dae1f-ba85-47a7-851f-f52091bb73bf
  31.           creationTime: 1484312794076
  32.         resourceKindKey: Datastore
  33.             value: VMFS:|naa.67ca23e100e4768072b1a3520000001c|
  34.             value: DISK1
  35.             value: datastore-1523
  36.             value: C194F321-185C-4D80-B053-14F64CD18AD4
  37.           resourceState: STARTED
  38.       identifier: 63d742b2-944a-4150-a32f-2fe2d4395938
复制代码
如上的文本内容,经分析每一片是由creationTime到identifier之间内容组成,如何分别把各片内容包含的字段都打印成如下格式:




1484312794076,VMFolder,group-v5482,C194F321-185C-4D80-B053-14F64CD18AD4,STARTED,63670632-0a16-4bf7-8f23-6258d709d814
1484315969901,VirtualMachine,Win2008R2X64,vm-47525,8DE00B8C-8E04-4DE1-A344-59CE5BF160E9,STARTED,63673f69-8d80-477f-aa09-e00a6f4fcfc8
......
1484312794076,Datastore,VMFSnaa.67ca23e100e4768072b1a3520000001c|,DISK1,datastore-1523,C194F321-185C-4D80-B053-14F64CD18AD4,STARTED,63d742b2-944a-4150-a32f-2fe2d4395938

论坛徽章:
0
发表于 2017-01-17 09:15 |显示全部楼层
resourceKindKey不一样,包含的value数量也不一样,有些是2个value,有些是4个value,有些是没有。。。。

论坛徽章:
0
发表于 2017-01-17 09:32 |显示全部楼层
回复 1# netocool

这不就是XML解析吗。

论坛徽章:
0
发表于 2017-01-17 09:47 |显示全部楼层
api文本处理

论坛徽章:
28
15-16赛季CBA联赛之八一
日期:2016-02-22 19:10:4215-16赛季CBA联赛之深圳
日期:2016-12-01 10:34:0415-16赛季CBA联赛之新疆
日期:2016-12-07 10:24:2915-16赛季CBA联赛之同曦
日期:2016-12-15 12:06:43CU十四周年纪念徽章
日期:2016-12-18 13:03:4415-16赛季CBA联赛之吉林
日期:2017-01-03 15:52:2515-16赛季CBA联赛之辽宁
日期:2017-01-04 14:58:2415-16赛季CBA联赛之辽宁
日期:2017-01-15 09:42:512016科比退役纪念章
日期:2017-02-06 17:21:50黑曼巴
日期:2017-02-10 15:46:1215-16赛季CBA联赛之上海
日期:2017-03-18 10:14:5415-16赛季CBA联赛之青岛
日期:2017-03-18 22:00:44
发表于 2017-01-17 09:51 |显示全部楼层

  1. awk -F': ' '/creationTime/{f=1;s=""}f{s=s?s","$2:$2}/identifier/{print s;f=0}' file
复制代码

论坛徽章:
1
15-16赛季CBA联赛之八一
日期:2017-02-21 17:19:04
发表于 2017-01-17 10:53 |显示全部楼层
本帖最后由 psmzs 于 2017-01-17 11:06 编辑

  1. 本帖最后由 psmzs 于 2017-01-17 10:55 编辑


  2. awk '/creationTime/,/identifier/{for(i=2;i<=NF;i++){printf $i " "}}/identifier/{print ""}' 3.txt
复制代码

论坛徽章:
1
15-16赛季CBA联赛之八一
日期:2017-02-21 17:19:04
发表于 2017-01-17 10:54 |显示全部楼层
本帖最后由 psmzs 于 2017-01-17 11:07 编辑

awk '/creationTime/,/identifier/{for(i=2;i<=NF;i++){printf $i " "}}/identifier/{print ""}' 3.txt


问个小白问题,提重的帖子怎么删除。。。。

论坛徽章:
130
技术图书徽章
日期: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
发表于 2017-01-17 11:21 |显示全部楼层
回复 1# netocool

$ awk -F": +" '/creationTime/{P=1}{s=s c$2;c=","}/identifier/{p=0;print s;s=c=""}' FILE
1484312794076,VMFolder,group-v5482,C194F321-185C-4D80-B053-14F64CD18AD4,STARTED,63670632-0a16-4bf7-8f23-6258d709d814
1484315969901,VirtualMachine,Win2008R2X64,vm-47525,8DE00B8C-8E04-4DE1-A344-59CE5BF160E9,STARTED,63673f69-8d80-477f-aa09-e00a6f4fcfc8
1484315969901,VMFolder,group-v38676,8DE00B8C-8E04-4DE1-A344-59CE5BF160E9,STARTED,6373b92e-f07d-448c-9384-077c4aabb54e
1484316466900,VirtualMachine,Win7X64,vm-332,D144C37A-6F12-49ED-BEDC-906BF1F03575,STARTED,63742ecf-446f-4981-8296-e64ae362e7e6
1484317468278,VM Entity Status,STARTED,0e6dae1f-ba85-47a7-851f-f52091bb73bf
1484312794076,Datastore,VMFS:|naa.67ca23e100e4768072b1a3520000001c|,DISK1,datastore-1523,C194F321-185C-4D80-B053-14F64CD18AD4,STARTED,63d742b2-944a-4150-a32f-2fe2d4395938

论坛徽章:
28
15-16赛季CBA联赛之八一
日期:2016-02-22 19:10:4215-16赛季CBA联赛之深圳
日期:2016-12-01 10:34:0415-16赛季CBA联赛之新疆
日期:2016-12-07 10:24:2915-16赛季CBA联赛之同曦
日期:2016-12-15 12:06:43CU十四周年纪念徽章
日期:2016-12-18 13:03:4415-16赛季CBA联赛之吉林
日期:2017-01-03 15:52:2515-16赛季CBA联赛之辽宁
日期:2017-01-04 14:58:2415-16赛季CBA联赛之辽宁
日期:2017-01-15 09:42:512016科比退役纪念章
日期:2017-02-06 17:21:50黑曼巴
日期:2017-02-10 15:46:1215-16赛季CBA联赛之上海
日期:2017-03-18 10:14:5415-16赛季CBA联赛之青岛
日期:2017-03-18 22:00:44
发表于 2017-01-17 11:45 |显示全部楼层
本帖最后由 moperyblue 于 2017-01-17 15:59 编辑
  1. sed '/creationTime/{s/[^:]*: //;h;d};/identifier/{s/[^:]*: //;x;G;s/\n/,/g;b};s/[^:]*: //;H;d' file
复制代码

论坛徽章:
130
技术图书徽章
日期: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
发表于 2017-01-17 11:58 |显示全部楼层
本帖最后由 jason680 于 2017-01-17 15:43 编辑

回复 9# moperyblue

有人说太XX 改一下

除了简单功能外...
我自己不用sed,不误己误人...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP