Прочитайте последнюю строку активного лог-файла с Eggdrop & .tcl - PullRequest
1 голос
/ 22 января 2012

Здравствуйте, мне было интересно, возможно ли прочитать последнюю строку файла журнала в реальном времени с eggdrop и сценарием .tcl, я могу прочитать первую часть файла журнала, но это значит, что он больше не читает его

1 Ответ

2 голосов
/ 22 января 2012

Можно ли установить верхнюю границу длины строки файла журнала?Если это так, то получить последнюю строку довольно просто:

# A nice fat upper bound!
set upperBoundLength 1024

# Open the log file
set f [open $logfile r]
# Go to some distance from the end; catch because don't care about errors here
catch {seek $f -$upperBoundLength end}
# Read to end, stripping trailing newline
set data [read -nonewline $f]
# Hygiene: close the logfile
close $f
# Get the last line
set lastline [lindex [split $data "\n"] end]

Обратите внимание, что на самом деле необходимо для выполнения seek;это избавляет вас от необходимости читать подавляющее большинство файлов, которые, по-видимому, вам не нужны.

...