Junior — Middle
107
Как получить последние 100 строк из очень большого файла логов, содержащего миллионы записей?
AI-дан жауап
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='')