Chinaunix
标题:
perl如何从日志文件中提取一段内容?
[打印本页]
作者:
怒剑狂啸
时间:
2005-04-12 16:39
标题:
perl如何从日志文件中提取一段内容?
假设有个很大的日志文件,比如时间是从2004-1-1到2005-1-1。我想从中获得一段(假设从2004-5-1到2004-6-1)进行分析,常规处理方法是一行一行读取,然后一个一个进行时间比较,但是这样效率不高。想优化一下,用二分法来进行查找,就是先在中间找一点进行比较,然后再折半计算,但是有个问题,就是文件读取时怎样进行精确的定位呢?如果要知道文件有多少行,得先从头读到尾,然后才能知道有多少行,进行比较的时候还要从头再读一遍,不知道有没有什么好办法可以进行定位?
利用数据库处理可能要方便多了,如果不导入数据库该怎样优化呢?不知各位遇到这样的问题是如何处理的!
作者:
apile
时间:
2005-04-12 16:46
标题:
perl如何从日志文件中提取一段内容?
先用cat xxx.log |grep -e "2004-5" "2004-6"|xxx.pl
這樣子就可以抓到5、6月的資料..
不需要用perl一行一行去parsing..
只是效能不敢保證..
作者:
怒剑狂啸
时间:
2005-04-12 16:56
标题:
perl如何从日志文件中提取一段内容?
我这里只是一个例子,实际可能有所变化,比如可能是06/Dec/2004:09:08:43 到06/Dec/2004:10:09:43,当然我这里的时间段是作为运行参数出现的,可变的,该如何做效率才能高呢?
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2