linux截取文件特定行,截取与分析日志文件的特定行数的操作

在进行操作系统和数据库系统管理时,经常会遇到在日志文件中查找某个字符,或者按照时间截取某个时间段的日志进行分析。

今天早上就遇到一个MySQL数据库上的问题,mysql数据库在0-3点的时候,数据库会话连接,tps,cpu和iowait等都比平时大了许多。

为了定位这个时间段内,到底发生了那些慢查询,消耗了资源,就需要在slow.log慢查询日志进行查询,截取和分析。

在处理过程中,对几种常用的日志截取方法进行了汇总和测试:

截取日志段的的方法汇总与测试

方式一: 确定时间段的行号,使用head和tail命令截取

搜索时间: Time: 151212 00:00:00

先到gg,到文件最前面,然后搜索 /Time: 151212  ,得到:

1979016 # Time: 151212  0:00:15

文件总行数为:

# wc -l slow-query-169-1212.log

1999422 slow-query-169-1212.log

1999422                                 limit 0,20;

然后在到文件最后面,G, 搜索4点之后开始的文件  /Time: 151212  4   ,得到:

1987392 # Time: 151212  4:00:05

确定需要查询的时间段行号后,使用head和tail命令进行截取:

>>> 1987392 - 1979016;

8376

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值