Мой сценарий читает файл журнала раз в минуту и выбирает (и действует на )строки, где метка времени начинается с предыдущей минуты.
Это просто (регулярное выражение просто "^$timestamp" ), но когда журнал становится большим, это может занять некоторое время.
Я думаю, что строки, которые мне нужны, всегда будут в нижней части файла, поэтому я буду искать гораздо меньше строк, если начну снизу и буду искать вверх, останавливаясь, когда доберусь до минуты, предшествующей первой. Мне интересно.
Мой вопрос: как я могу искать в нижней части файла, а не в верхней части? Могу ли я даже сказать «прочитать строку $length» или даже «прочитать строку n» (, если да, то я мог бы выполнить что-то вроде двоичного поиска, чтобы найти длину файла и работать в обратном направлении )?
Последний вопрос :будет ли это даже быстрее (Я все еще хотел бы знать, как это сделать, даже если это не будет быстрее )?
В идеале я хотел бы сделать все это в своем собственном коде, не устанавливая ничего дополнительно.
Спасибо