zoukankan      html  css  js  c++  java
  • Linux下根据关键字搜索最后一条日志

    场景

    有的时候,我们需要针对应用日志分析某个请求后产生的报错信息,但是由于应用的日志很多,我们只想获取第一次请求的前几行、后几行数据,或者 最后一次请求的请求前几行、后几行数据

    分析

    (0)文件aaa.txt内容

    (1)在文件名中搜索关键字出现的行

    grep "关键字"  文件名 
    

    (2)在文件名中搜索关键字出现的行,并显示行号

    grep -n "关键字"  文件名 
    

    (3)搜索关键字所在行以及后n行

    grep -A n "关键字" 文件名
    

    备注:A,after

    (4)搜索关键字所在行以及前n行

    grep -B n "关键字" 文件名
    

    备注:B,Before

    (5)搜索关键字所在行以及前后n行

    grep -C n "关键字" 文件名
    

    (6)搜索关键字第一次出现位置的前后M行

    grep -C M "关键字" 文件名 |head -n 2*M+1
    

    备注:关键字+关键字前M行+关键字后M行,所以结果为 2M+1

    (7)搜索关键字最后一次出现位置的前后M行

    grep -C M "关键字" 文件名 |tail -n 2*M+1
    

    (8)搜索关键字最后一次出现位置的前后M行,并写入文件,如果文件存在则覆盖

    grep -C M "关键字" 文件名 |tail -n 2*M+1 > 文件名
    

    备注:> 表示覆盖写入

    (9)搜索关键字最后一次出现位置的前后M行,并写入文件,如果文件存在则追加

    grep -C M "关键字" 文件名 |tail -n 2*M+1 >> 文件名
    

    备注:>> 表示追加写入

    总结

    搜索catalina.out中"Exception"关键字第一次出现位置的前后10行,并写入文件22.log

    grep -C 10 "Exception" catalina.out |head -n 2*10+1 >22.log
    

    搜索catalina.out中"Exception"关键字最后一次出现位置的前后10行,并写入文件22.log

    grep -C 10 "Exception" catalina.out |tail -n 2*10+1 >22.log
    
  • 相关阅读:
    Mysql 免密码登录,修改密码及忘记密码操作
    CentOS 6.9 升级MySQL 5.6.36到5.7.18
    【转载】详解布隆过滤器的原理、使用场景和注意事项
    AssemblyVersion、AssemblyFileVersion、AssemblyInformationalVersion 区别
    为什么要有财务自由【转】
    CacheManager.Core
    雪花算法,生成分布式唯一ID
    监控
    什么是并行、并发, 两者的区别是什么
    Emit用法
  • 原文地址:https://www.cnblogs.com/it774274680/p/15604009.html
Copyright © 2011-2022 走看看