|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/371.32 11 Apr 2000 12:12:46 To : Artem Chuprina Subject : Re: Читать файл с конца. -------------------------------------------------------------------------------- AC> On Fri, 07 Apr 00 12:43:30 +0400 akg@kbbelon.nsk.su wrote: akns>> Хочеться читать файл логов построчно с конца к началу. akns>> (Hу не прочитывать же его _весь_ для поиска последнего. akns>> сообщения об ошибке. Там мегов до 60 может быть, akns>> когда отладка высокая) akns>> Подскажите, как бы это сделать попроще ? AC> Это вообще можно (принципиально) только одним способом - хранить момент AC> предыдущего изменения файла и seek на его конец на тот момент. Время AC> изменилось - seek() и читаем. Если хранить негде или первый запуск, придётся AC> прочитать с начала. Хотя tail, думаю, если у него seekable вход, делает несколько иначе. А именно - что-то вроде "seek с конца до границы блока (4 килобайта), читаем, считаем строки. Если не хватает, читаем предыдущие 4 кило..." Hо это не попроще, это побыстрее, и то в среднем. -- Счастливо! Ран. --- ifmail v.2.14.os-p7-tma3 * Origin: MemoNet (2:5020/371.32@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/3473a820f3b1.html, оценка из 5, голосов 10
|