检索最后100行日志

Sur*_*bhi 128 linux logging sed

我需要从日志文件中检索最后100行日志.我尝试了sed命令

sed -n -e '100,$p' logfilename
Run Code Online (Sandbox Code Playgroud)

请让我知道如何更改此命令以专门检索最后 100行.

Ste*_*hen 241

您可以使用tail命令,如下所示:

tail -100 <log file>   > newLogfile
Run Code Online (Sandbox Code Playgroud)

现在最后100行将出现在 newLogfile

  • 请注意,一些更新版本的`tail`需要语法`tail -n 100 <filename>`... (15认同)

Aru*_*r N 31

您可以简单地使用以下命令:-

尾部 -NUMBER_OF_LINES FILE_NAME

例如tail -100 test.log

  • 将从 test.log 中获取最后 100 行

如果您希望将上述输出放在单独的文件中,那么您可以按如下方式进行管道传输:-

尾部 -NUMBER_OF_LINES FILE_NAME > OUTPUT_FILE_NAME

例如tail -100 test.log > output.log

  • 将从 test.log 中获取最后 100 行并将它们存储到新文件 output.log 中)


Ser*_*kov 12

看,sed脚本打印了你可以在sed文档中找到的最后100行(https://www.gnu.org/software/sed/manual/sed.html#tail):

$ cat sed.cmd
1! {; H; g; }
1,100 !s/[^\n]*\n//
$p

$ sed -nf sed.cmd logfilename
Run Code Online (Sandbox Code Playgroud)

对我而言,这比你的剧本更难

tail -n 100 logfilename
Run Code Online (Sandbox Code Playgroud)

简单得多.它非常有效,如果没有必要,它将无法读取所有文件.请参阅我的回答与strace报告tail ./huge-file:https://unix.stackexchange.com/questions/102905/does-tail-read-the-whole-file/102910#102910


Ami*_*esh 9

“ tail”是显示文件最后部分的命令,使用适当的可用开关有助于我们获得更具体的输出。对我而言,最常用的开关是-n和-f

概要

尾巴[-F | -f | -r] [-q] [-b号| -c号| -n号] [文件...]

这里

-n number:位置是数字行。

-f:-f选项使tail在到达文件末尾时不会停止,而是等待其他数据附加到输入中。如果标准输入是管道,则-f选项将被忽略,但如果它是FIFO,则不会被忽略。

检索最近的100行日志

To get last static 100 lines  
     tail -n 100 <file path>

To get real time last 100 lines
     tail -f -n 100 <file path>
Run Code Online (Sandbox Code Playgroud)


mds*_*diq 7

我知道这已经很老了,但是,对于任何可能有帮助的人。

less +F my_log_file.log

这只是基本的,用更少的东西你可以做很多更强大的事情。一旦您开始查看日志,您就可以进行搜索、转到行号、搜索模式等等,而且对于大文件来说速度更快。

它就像用于日志的 vim [完全是我的意见]

原始较少的文档:https : //linux.die.net/man/1/less

少备忘单:https : //gist.github.com/glnds/8862214