Sobes.tech
Назад к вопросам
Junior — Middle
79

Как получить последние 100 строк из очень большого файла логов, содержащего миллионы записей?

Ответ от нейросети

sobes.tech AI

Чтобы получить последние 100 строк из очень большого файла логов, не читая весь файл целиком, можно использовать команду tail в Unix-подобных системах:

tail -n 100 /path/to/large_log_file.log

Команда tail эффективно читает файл с конца, что позволяет быстро получить последние строки без загрузки всего файла в память.

Если нужно реализовать это программно, например на Python, можно открыть файл в бинарном режиме и читать с конца блоками, пока не соберётся нужное количество строк. Но для большинства задач достаточно tail.

Пример на Python (упрощённый):

from collections import deque

def tail(filename, n=100):
    with open(filename, 'r') as f:
        return deque(f, n)

last_lines = tail('/path/to/large_log_file.log', 100)
for line in last_lines:
    print(line, end='')