их файла? на манер tail -n 10 нет ли какого-нибудь готового решения данной задачи? Заранее большое спасибо!
Это довольно сложно Нам надо прочитать T строк 1. Нужно прикинуть сколько байт занимает последняя строка (допустим X. Нет, X это много, возьмём N) 2. Прочитать последние N байт из файла используя https://golang.org/pkg/os/#File.Seek 3. Посчитать количество строк. Если больше чем T — это использовать последние T 4. Иначе N = 2*N и перейти в пункт 2. Нужно поймать больше чем T строк, так как первая строка в куске может быть неполной. Если файл маленький (меньше мегабайта примерно), то имеет смысл прочитать его целиком в память и потрошить уже там
Не знал о 2ке в seek, круто
Обсуждают сегодня