查看某个时间段的日志
命令格式: sed -n '/起始时间/','/结束时间/p' [日志文件]
- n : 读取下一个输入行,用下一个命令处理新的行而不是第一个命令
- p : 打印输出
eg1 :
sed -n '/2018-07-23 17:45:00/','/2018-07-23 17:48:00/p' access.log
注:
日期时间格式要和日志文件中的保持一致;
eg2 :
[24/Jul/2018:09:33:52 +0800] "GET /static/info/js/jquery.SuperSlide2.js HTTP/1.1"
nginx中的日期时间格式和eg1中的格式不一致,这时使用的命令是:
sed -n '/23\/Jul\/2018:17:45:00/','/23\/Jul\/2018:17:48:00/p' access.log
注:
使用“\”是为了转义“/”,不然命令行会报错
也可以将输出的命令行内容输出到一个文本文件中,这样方便用编辑器查看,命令是:
eg3 :
sed -n '/23\/Jul\/2018:17:45:00/','/23\/Jul\/2018:17:48:00/p' access.log > gfc.log
这样输出的内容就会保存在gfc.log文本文件中。
查看某一行日志内容
通过使用vi命令打开日志
-
使用
:set nu
查看日志的行号,如:
其中,nu 是number的简写。然后使用q!
退出vi编辑。 使用sed 命令查看行内容
sed -n [行数],1p [文件]
eg:
sed -n 16,1p demo.log