我有一个不断增长的日志文件,我想显示它仅有的最后 15 行。这是我知道我能做的:
tail -n 15 -F mylogfile.txt
当日志文件填满时,tail
将最后几行附加到显示中。
我正在寻找一种解决方案,仅显示最后 15 行,并在更新后删除最后 15 行之前的行。你有什么想法吗?
答案1
使用手表可能就足够了:
$ watch tail -n 15 mylogfile.txt
答案2
如果您使用手表,请尝试-n
控制每次更新之间的间隔的选项。
因此,下面每 2 秒调用一次 tail
$ watch -n 2 tail -n 15 mylogfile.txt
而这个每 1 秒轮询一次
$ watch -n 1 tail -n 15 mylogfile.txt
答案3
您可以运行 less 来流式传输日志文件,然后按 SHIFT + F 将使用 less 流式传输文件。
$ less mylogfile.txt
然后只需按 SHIFT + F 即可进行流式传输。我认为监视更新的日志文件很方便。
答案4
在 Solaris、AIX、HPUX 或类 UNIX(包括 Linux)中,您可以使用脚本来监视日志或类似的内容:
while true;
clear;
do date;
echo ;
echo "MONITORING LOG IN "/path/to/file.log": ";
echo "Obs.: Last 20 lines of a logfile:
echo ;
tail -20 /path/to/file.log;
echo ;
sleep 5;
done