免费注册 查看新帖 |

Chinaunix

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

请教一个awk问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-09 10:53 |只看该作者 |倒序浏览
数据格式如下:
          入局或双向中继群  193 联通GW1 193IP入       201 联通GW2C/G网入        203 联通GW2 193IP入
                是否超阈值  否                        否                        否   
                结果准确度  准确                      准确                      准确   
                  占用次数  0                         6738                      2      
              转接占用次数  0                         6717                      2      
                  接通次数  0                         6315                      2   
                  应答次数  0                         4608                      1   
              转接应答次数  0                         4607                      1   
            跨周期应答次数  0                         124                       0   
                            。。。

第一行中,193  201 203 是中继标识。 “联通GW1 193IP入” “联通GW2C/G网入” “联通GW2 193IP入”分别是这三条中继的名称。

原来中继名称都是没有空格的,没问题。可以直接取出来。

但是现在发现有加空格的中继名称。而且出现的个数和位置都不固定,有可能三个中继名称两个有空格,或者一个有空格,且有空格的中继名称位置不固定.这种情况中继标识和中继名称就不能正确取出来。

其中的分隔符都是空格。而且中继标识不一定都是数字。

请教有没有什么好办法?

我想按字段长度取,原始报告中每个域的长度都是26个字符,取出来之后再分一下。但是看资料awk中好像没有按长度取字符串的函数吧?

论坛徽章:
0
2 [报告]
发表于 2010-09-09 10:57 |只看该作者
substr函数截取字符串长度

论坛徽章:
0
3 [报告]
发表于 2010-09-09 11:07 |只看该作者
substr函数截取字符串长度
bbgg1983 发表于 2010-09-09 10:57



   多谢,我试试去

论坛徽章:
0
4 [报告]
发表于 2010-09-09 11:08 |只看该作者

  1. gawk 有 FIELDWIDTHS 这个内部变量,可以按照宽度来分割,而不使用字符来分割

复制代码

论坛徽章:
0
5 [报告]
发表于 2010-09-09 15:34 |只看该作者
截取字符串长度
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP