我需要从日志文件中检索日志的最后100行。我尝试了sed命令
sed -n -e '100,$p' logfilename
请让我知道如何更改此命令以专门检索最后 100行。
我需要从日志文件中检索日志的最后100行。我尝试了sed命令
sed -n -e '100,$p' logfilename
请让我知道如何更改此命令以专门检索最后 100行。
Answers:
您可以按以下方式使用tail命令:
tail -100 <log file> > newLogfile
现在最后100行会出现在 newLogfile
编辑:
twalberg提到的tail的最新版本使用命令:
tail -n 100 <log file> > newLogfile
tail
需要语法tail -n 100 <filename>
...
看一下,sed脚本可以打印出sed文档(https://www.gnu.org/software/sed/manual/sed.html#tail)中的最后100行:
$ cat sed.cmd
1! {; H; g; }
1,100 !s/[^\n]*\n//
$p
$ sed -nf sed.cmd logfilename
对我来说,这比您的脚本要困难得多,所以
tail -n 100 logfilename
简单得多。而且它非常有效,如果不需要,它将不会读取所有文件。请参阅我的strace报告答案tail ./huge-file
:https : //unix.stackexchange.com/questions/102905/does-tail-read-the-whole-file/102910#102910
“ 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>
我知道这已经很老了,但是对任何人来说都可能有所帮助。
less +F my_log_file.log
那只是基本的,用更少的东西就可以做很多更强大的事情。一旦您开始查看日志,就可以进行搜索,转到行号,搜索模式等等,而且对于大型文件而言,这样做更快。
就像vim记录日志一样[完全是我的看法]
较少的原始文档:https : //linux.die.net/man/1/less
更少的备忘单:https : //gist.github.com/glnds/8862214