免费注册 查看新帖 |

Chinaunix

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

shell读文件时的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-03-17 03:35 |只看该作者 |倒序浏览
现在有下面这样的log文件。

id100  abkjjkl  start get  timestamp 34
xxxxxxjfkdjsl
id101  ahhjj   start get  timestamp 35
id100  ueiuot stop get  timestamp 37
xxxxxxjfkdjsl
id101 jklfjds  stop get   timestamp 46
id100  uuioruew start get timestamp 56
.......


我要实现的是,读取所有id100,id101...idxxx中,start与stop之间的时间差。

现在的问题是,
读取有id100的行中,start get 中的 时间 (34)
然后继续读文件中最先出有id100 和stop get 中 的行的时间(37)。
由于id100 是会重用的,如何按顺序让shell在读到timestamp 37的行后,循环去查找这一行之后的行重新开始读 id100 start 和 stop。

说白了就是用shell如何去控制读的文件的开始行数?

论坛徽章:
0
2 [报告]
发表于 2010-03-17 18:20 |只看该作者
有人知道么?在线等。

论坛徽章:
2
摩羯座
日期:2013-10-10 14:29:04天蝎座
日期:2014-01-03 09:14:49
3 [报告]
发表于 2010-03-19 09:55 |只看该作者
要是文件的每行都是固定的格式,可以考虑用awk来实现,需要写一个复杂些的awk脚本,具体的还是要拿着手册来弄。

论坛徽章:
0
4 [报告]
发表于 2010-03-20 08:46 |只看该作者
先把id100开头的行grep出来,单独对这些数据做处理
一路征程一路笑 该用户已被删除
5 [报告]
发表于 2010-03-20 09:55 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP