perl不能处理大文本文件!?!?!?高手帮忙!!!

perl不能处理大文本文件!?!?!?高手帮忙!!!

最近处理solaris大日志文件,文件大于1GB,我需要查找含有“程某某”的字符串在日志第几行,并且统计个数,为什么我写的perl程序不能找到呢????

可是其中确实有“程某某”的字符串,有3个,但是将包含“程某某”的字符串的行单独拷贝出来另存成1.txt,比1GB小,我的程序就能找到“程某某”的字符串,并统计有3个。

(    我的机器p4 2.8G 1GB 硬盘空余10GB winxp

执行命令  D:\perl\perl find.pl 1.log                          )

这是啥原因?高人请指点!谢谢!莫非perl有处理的文件大小限制???!!!

我这里是好的呀。
考虑一下日志文件的字符编码吧
贴代码
贴 log 文件样本
以前我也处理过3,4g的文件,不过perl把内存跑完了,后来改成awk跑的
你应该使用行模式才对。。


QUOTE:
原帖由 zxzzy 于 2008-5-6 18:33 发表
以前我也处理过3,4g的文件,不过perl把内存跑完了,后来改成awk跑的

这说明你的代码写的有问题。
为了防止unix和windows不同,日志已经unix2dos了,但是也不成,似乎也并不是这个原因吧?


QUOTE:
原帖由 shangyilong 于 2008-5-7 10:03 发表
为了防止unix和windows不同,日志已经unix2dos了,但是也不成,似乎也并不是这个原因吧?

嗯,您说的对!
我要去别的版面灌水了,您先自个儿慢慢分析分析,有结论了分享一下。