linux sed 之 查看指定时间段的日志

查看某个时间段的日志

命令格式: 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文本文件中。

查看某一行日志内容

  1. 通过使用vi命令打开日志

  2. 使用:set nu查看日志的行号,如:

    set nu.png

    其中,nu 是number的简写。然后使用q!退出vi编辑。

  3. 使用sed 命令查看行内容

sed -n [行数],1p [文件]

eg:

sed -n 16,1p demo.log

你可能感兴趣的:(linux sed 之 查看指定时间段的日志)