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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容