免费注册 查看新帖 |

Chinaunix

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

perl如何从日志文件中提取一段内容? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-04-12 16:39 |只看该作者 |倒序浏览
假设有个很大的日志文件,比如时间是从2004-1-1到2005-1-1。我想从中获得一段(假设从2004-5-1到2004-6-1)进行分析,常规处理方法是一行一行读取,然后一个一个进行时间比较,但是这样效率不高。想优化一下,用二分法来进行查找,就是先在中间找一点进行比较,然后再折半计算,但是有个问题,就是文件读取时怎样进行精确的定位呢?如果要知道文件有多少行,得先从头读到尾,然后才能知道有多少行,进行比较的时候还要从头再读一遍,不知道有没有什么好办法可以进行定位?
利用数据库处理可能要方便多了,如果不导入数据库该怎样优化呢?不知各位遇到这样的问题是如何处理的!

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2005-04-12 16:46 |只看该作者

perl如何从日志文件中提取一段内容?

先用cat xxx.log |grep  -e "2004-5"  "2004-6"|xxx.pl
這樣子就可以抓到5、6月的資料..
不需要用perl一行一行去parsing..
只是效能不敢保證..

论坛徽章:
0
3 [报告]
发表于 2005-04-12 16:56 |只看该作者

perl如何从日志文件中提取一段内容?

我这里只是一个例子,实际可能有所变化,比如可能是06/Dec/2004:09:08:43  到06/Dec/2004:10:09:43,当然我这里的时间段是作为运行参数出现的,可变的,该如何做效率才能高呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP