2009年9月26日星期六

[PerlChina] Re: 请问perl读文本文件,怎么样从末尾往前读?

和tee 类似啊,同步输出log  ,
 
open my $F1,     ' XXXcmd | " ;
 
while ( <$F1> )  {
     print  ;
}
 
 


 
2009/9/26 zheng wen <yzwen9999@gmail.com>
方法2没看懂。。

2009/9/23 Michael Zeng <galaxy2004@gmail.com>:
> 1用 File::ReadBackwards  :
> http://search.cpan.org/~uri/File-ReadBackwards-1.04/ReadBackwards.pm
>
> 2. 用管道:
>  open my $F1, " XXX cmd | " ;
> while (<$F1>) {
> ...
> }
> 该管道和命令输出是同步的,和 |tee类似
>
> 3。 seek +tell 也可以啊,自己可以控制
>
>
>
> 2009/9/23 msmouse <msmouse@gmail.com>
>>
>> 针对字节的就行呗,自己查换行
>>
>> 另外tac应该到处有吧?
>> ----------------------------------
>> msmouse@ir.hit.edu.cn
>> msmouse@gmail.com
>>
>>
>> 2009/9/23 zheng wen <yzwen9999@gmail.com>
>>>
>>> 现在处理一个log文件,想分析最近几分钟的log,现有以下方案:
>>> 1,用tail是可以的,但是不太好估计tail多少行,tail N行->判断->tail 2N行 貌似可以动态判断,但比较繁琐,个人不赞成
>>> 2,从前面正向读的话觉得读了前面一堆没有必要的行,文件大了会很慢,循环里面有一堆正则处理的东西
>>> 3,用tac file | 然后读管道,貌似比较不错,但不是很清楚所有server上是否都有tac命令,而且也不知道性能怎样?
>>> <4>,Perl里面从文件末尾开始向前读,不知道有没有简单的办法可以实现?seek tell的位置貌似都针对字节的。
>>>
>>> 针对4,有什么方法实现么?或者有没有其他的方案。简单有效的最好。
>>>
>>> 谢谢!
>>>
>>>
>>
>>
>>
>> --
>>            Yours Sincerely
>>                    Zeng Hong
>>
>> >>
>


--
           Yours Sincerely
                   Zeng Hong

--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
 要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
 要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛

-~----------~----~----~----~------~----~------~--~---

没有评论: