如何连续打印文件的最后一行到单身的终端中的线?
以下内容有效,但性能很高。
while true; do tail -1 /tmp/somelog | tr "\012" "\015"; done
答案1
tail
已经有一个-f
( --follow
) 选项来轮询文件以查找附加内容 - 技巧是在添加管道来执行行结尾替换时防止输出被缓冲:
tail -n1 -f /tmp/somelog | stdbuf -o0 tr '\n' '\r'
有关缓冲问题的讨论,请参见示例将 tail -f 通过管道传输到 awk
答案2
使用watch
:
watch -t -n0.2 tail -n 1 /var/log/apache2/access.log
-t 关闭标题
-n 是刷新间隔