免费注册 查看新帖 |

Chinaunix

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

[文本处理] 为什么在awk里面循环不成功? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-04-29 20:00 |显示全部楼层 |倒序浏览
有如下数据,以英文逗号','分割:
P_SGSN_MOBILITY_MANAGEMENT SGS_PV_MOBMGMRA_RAC1_RAW,SGSN_GID,PAPU_INDEX PAPU_ID,MCC MCC_ID,MNC MNC_ID,LAC LAC_ID,RAC RAC_ID,PERIOD_START_TIME,PERIOD_DURATION,PAPU_GROUPID PAPU_GROUP,PAPU_PHYSICAL_INDEX PAPU_PHY,PAPU_CAPA PAPU_CAPA,PAPU_SWITCHOVER_MADE PAPU_SM,MAX_RT_PDP_CTX_USERS RTPDP_CAPA,MAX_ACT_RT_PDP_CTX_USERS ABL_RTPDP,MAX_BANDW_LMT_FOR_RT_PDP_CTXS BL_RTPDP,COMB_ATTACH_SUCC_IN_PS_SIDE,COMB_ATTACH_FAIL_PLMN_NA,COMB_ATTACH_FAIL_LA_NA,COMB_ATTACH_FAIL_ROAMING_NA,COMB_ATTACH_FAIL_PROT_ERROR,FAIL_CAMEL_SERVICE

其特点是某些Field可以按照空格再次分割出两个或者多个Field,例如PAPU_INDEX PAPU_ID。
要求是将这样的段取出来,我是这样实现的:

awk -F, 'BEGIN{i=1}{while( $i ~ / / && i <= NF ){print $i;++i}i=1;}'

但是不知道为何只能得到第一个Field,执行结果为:P_SGSN_MOBILITY_MANAGEMENT SGS_PV_MOBMGMRA_RAC1_RAW
后面的都不知道跑到哪里去了,请问怎么回事?

论坛徽章:
0
2 [报告]
发表于 2014-04-29 20:28 |显示全部楼层
回复 2# Herowinter

确实,谢谢。不知道为何突然想那样写,还觉得语法没错,实在是贻笑大方

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP