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

for*_*rin 1 tail

我怎样才能持续一个文件的最后一行打印到单一的终端线?

以下工作,但具有高性能命中。

while true; do tail -1 /tmp/somelog | tr "\012" "\015"; done
Run Code Online (Sandbox Code Playgroud)

ste*_*ver 5

tail已经有一个-f( --follow) 选项来轮询文件以获取附加内容 - 诀窍是在添加管道以执行行结束替换时防止输出被缓冲:

tail -n1 -f /tmp/somelog | stdbuf -o0 tr '\n' '\r'
Run Code Online (Sandbox Code Playgroud)

有关缓冲问题的讨论,请参见例如Pipeping tail -f into awk