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

linux sed 之 查看指定时间段的日志,第1张

命令格式: sed -n '/起始时间/','/结束时间/p' [日志文件]

eg1 :

注:

日期时间格式要和日志文件中的保持一致;

eg2 :

nginx中的日期时间格式和eg1中的格式不一致,这时使用的命令是:

注:

使用“\”是为了转义“/”,不然命令行会报错

也可以将输出的命令行内容输出到一个文本文件中,这样方便用编辑器查看,命令是:

eg3 :

这样输出的内容就会保存在gfc.log文本文件中。

eg:

Linux查看日志的命令有很多,比如tail、cat、tac、head、echo等,今天给大家介绍几种常用的方法:

1、tail-实时查看变化的日志

命令格式:tail [必要参数][选择参数][文件]

-f:循环读取

-q:不显示处理信息

-v:显示详细的处理信息

-c<数目>:显示的字节数

-n<行数>:显示行数

-q, --quiet, --silent:从不输出给出文件名的首部

-s, --sleep-interval=S:与-f合用,表示在每次反复的间隔休眠S秒

2、head

跟tail相反,head是看日志的前多少行

head -n 10 test.log:查询日志文件中的前10行日志

head -n -10 test.log:查询日志文件除了最后10行的其他所有日志

3、cat-搜索关键字附近的日志

cat是由第一行到最后一行连续显示在屏幕上

最常用的命令:cat -n filename | grep "关键字"

cat app.log | grep -C 5 '关键字':显示日志里匹配字串那行以及前后5行

cat app.log | grep -B 5 '关键字':显示匹配字串及前5行

cat app.log | grep -A 5 '关键字':显示匹配字串及后5行

4、more

more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位 *** 作。

more的语法:more 文件名

https://superuser.com/questions/439688/how-to-grep-a-log-file-within-a-specific-time-period

下面这种方式,显示的信息不全,只显示出含有该时间的行,像换行显示的错误堆栈日志,就显示不出来。

grep '2019-03-02 11:4[1-2]' user-center.2019-03-02.log

grep '2019-03-02 11:42:[01-59]' user-center.2019-03-02.log


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8531068.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存