在终端上连续将文件的最后一行打印到单行

在终端上连续将文件的最后一行打印到单行

如何连续打印文件的最后一行到单身的终端中的线?

以下内容有效,但性能很高。

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 是刷新间隔

相关内容