打印 n 行后结束 tail -f

打印 n 行后结束 tail -f

我有以下内容。

  1. Java 进程在文件中写入日志
  2. 启动 Java 进程的 shell 脚本。

我需要在启动 Java 进程后读取日志文件以检查是否正确启动。

我尝试过tail -f,但它永远都是追加的。我需要tail在打印 n 行后停止。有没有类似-n针对前几行的选项的方法?

答案1

您可以通过管道输出tail -fhead限制显示的行数:

tail -f [PATH] | head -n 100

总共只显示 100 行。

答案2

仅限新行

使用普通的tail -f,前 10 行来自已经存在的文件:

tail -f file.log | head -30

log.txt运行时写入10行,之后添加20(n-10)行。

对于日志文件,您通常使用-f( --follow) 查看将来写入的行。

为了仅查看启动后写入的 30 行tail,请将初始输出限制为 0:

tail -f -n0 file.log | head -30

相关内容