日志检索实战 grep sed

参考

sed命令

使用

grep -5 'parttern' inputfile //打印匹配行的前后5行

grep -C 5 'parttern' inputfile //打印匹配行的前后5行

grep -A 5 'parttern' inputfile //打印匹配行的后5行

grep '安卓端订单分页查询' logs/SmartCard_Start.log -B 5 -n //打印匹配行的前5行

-n 显示行号。
-A 显示匹配行的后n行数据。
-B 显示匹配行的前n行数据。
-C 显示匹配行的前后n行数据。 sed -n '3100,3120p' logs/SmartCard_Start.log
p表示打印, 3100,3120是行号区间。

需求

检索日志关键字,通常会得到几次请求的记录。如果想查看其中某次请求的日志记录。

方案一

检索日志关键字,通常会得到几次请求的记录。

拿到日志前的时间戳,检索时间戳拿到唯一的值。然后检索时间戳的附近的n行数据。

grep -n '支付结果方法进入' logs/SmartCard_Start.log

grep '2019-11-21 19:50:10.234' SmartCard_Start.log -A 20

-n 显示行号
-A 显示之后的n行数据。

实例

[root@59 smartcard]# grep -n '支付结果方法进入' logs/SmartCard_Start.log 

4087:2019-11-21 16:17:59.559 INFO  [http-nio-8086-exec-1] com.yuantiao.smartcardms.service.xhpay.PayResultCommonService Line:117 - 支付结果方法进入|支付订单号=201911211613177578746,业务流水号=1012022019112116131874698184,交易状态=1,取餐号=0.01,交易金额=Thu Nov 21 16:17:59 CST 2019,交易时间={}
[root@59 logs]# grep '2019-11-21 19:50:10.234' SmartCard_Start.log -A 20

2019-11-21 19:50:10.234 DEBUG [http-nio-8086-exec-3] org.mybatis.spring.SqlSessionUtils Line:49  - Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e23ccf3]

方案二

检索日志关键字,通常会得到几次请求的记录。拿到行号。

然后查看某次请求的行号,通过行号检索日志。

sed -n '3100,3120p' logs/SmartCard_Start.log 检索3100-3120行数据。

实例

[root@59 smartcard]# sed -n '3100,3120p' logs/SmartCard_Start.log 

2019-11-21 20:28:03.040 INFO  [http-nio-8086-exec-3] com.yuantiao.smartcardms.web.order.OrderController Line:132 - [安卓端订单分页查询]请求参数:companyId=1,memberName=,memberTel=,orderType=01, orderStatus=null,lowDate=2019-11-21,highDate=2019-11-21, pageNo=3,pageSize=9
2019-11-21 20:28:03.043 DEBUG [http-nio-8086-exec-3] org.mybatis.spring.SqlSessionUtils Line:49 - Creating a new SqlSession
2019-11-21 20:28:03.044 DEBUG [http-nio-8086-exec-3] org.mybatis.spring.SqlSessionUtils Line:49 - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@477bc374] was not registered for synchronization because synchronization is not active
2019-11-21 20:28:03.057 DEBUG [http-nio-8086-exec-3] org.springframework.jdbc.datasource.DataSourceUtils Line:115 - Fetching JDBC Connection from DataSource
2019-11-21 20:28:03.080 DEBUG [http-nio-8086-exec-3] org.mybatis.spring.transaction.SpringManagedTransaction Line:49 - JDBC Connection [HikariProxyConnection@860533898 wrapping com.mysql.cj.jdbc.ConnectionImpl@b0f33fc] will not be managed by Spring

日志检索实战 grep sed的更多相关文章

  1. 日志分析查看——grep,sed,sort,awk运用

    概述 我们日常应用中都离不开日志.可以说日志是我们在排查问题的一个重要依据.但是日志并不是写了就好了,当你想查看日志的时候,你会发现线上日志堆积的长度已经超越了你一行行浏览的耐性的极限了.于是,很有必 ...

  2. [svc]linux正则实战(grep/sed/awk)

    企业实战: 过滤ip 过滤出第二行的 192.168.2.11. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ine ...

  3. 【Linux】日志分析工具grep sed sort

    遇到一个问题,在查询日志时发现,服务器上打印的文件有很多个,每个都存储了一部分日志, 需要将日志按照时间排序,并显示所有日志. 原命令: grep -h  searchContent */*log 搜 ...

  4. grep/sed/awk命令查看指定时间段的日志

    *grep命令 今天遇到研发要求查询定时任务(elastic-job)在14:00-14:40的日志,使用grep命令很方便: 命令: grep '时间' '日志文件名 ' 1.例如查询2020-02 ...

  5. 开发环境入门 linux基础 (部分)正则表达式 grep sed

    /etc/profile /etc/bashrc  .变量添加到shell环境中,永久生效. /root/.bashrc /root/.bash_profile 正则表达式 定义:正则就是用一些具有特 ...

  6. TKE 用户故事 - 作业帮 PB 级低成本日志检索服务

    作者 吕亚霖,2019年加入作业帮,作业帮架构研发负责人,在作业帮期间主导了云原生架构演进.推动实施容器化改造.服务治理.GO微服务框架.DevOps的落地实践. 莫仁鹏,2020年加入作业帮,作业帮 ...

  7. linux(5)--补充(管道| / 重定向> / xargs)/find 与xargs结合使用/vi,grep,sed,awk(支持正则表达式的工具程序)

    本节中正则表达式的工具程序 grep,sed和awk是重点,也是难点!!! 先补充一下一. 管道| / 重定向> / xargs 如:1. 管道和重定向的区别:具体可以见 http://www. ...

  8. awk grep sed cut学习

    awk学习网站 grep sed cut

  9. 【Linux】 字符串和文本处理工具 grep & sed & awk

    Linux字符串&文本处理工具 因为用linux的时候主要用到的还是字符交互界面,所以对字符串的处理变得十分重要.这篇介绍三个常用的字符串处理工具,包括grep,sed和awk ■ grep ...

随机推荐

  1. Day5- Python基础5 模块导入、time、datetime、random、os、sys、hashlib、json&pickle

    本节目录: 1.模块的分类 2.模块的导入 3.time模块 4.datetime模块 5.random 6.os模块 7.sys模块 8.hashlib 9.json&pickle 一.模块 ...

  2. 面向对象程序设计(JAVA) 第14周学习指导及要求

    2019面向对象程序设计(Java)第14周学习指导及要求 (2019.11.29-2019.12.2)   学习目标 (1)掌握GUI布局管理器用法: (2)掌握Java Swing文本输入组件用途 ...

  3. python操作队列

    进行队列的操作,首先要引入queue这个库 一:设置队列(括号中是队列可容纳数据的多少,如果不设置,则可以一直增加) import queue q = queue.Queue(10) 二:添加/获取元 ...

  4. 201871010113-刘兴瑞《面向对象程序设计(java)》第十周学习总结

    项目 内容 这个作业属于哪个课程 <任课教师博客主页链接> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址>htt ...

  5. 用vbs和ADSI管理Windows账户

    ADSI (Active Directory Services Interface)是Microsoft新推出的一项技术,它统一了许多底层服务的编程接口,程序员可以使用一致的对象技术来访问这些底层服务 ...

  6. oracle查询字段重复数据

    select in_ordr_no,count(*) from t_pay_jnl group by in_ordr_no having count(*) > 按照字段in_ordr_no查询重 ...

  7. vscode源码分析【六】服务实例化和单例的实现

    第一篇: vscode源码分析[一]从源码运行vscode 第二篇:vscode源码分析[二]程序的启动逻辑,第一个窗口是如何创建的 第三篇:vscode源码分析[三]程序的启动逻辑,性能问题的追踪 ...

  8. 【STM32H7教程】第16章 STM32H7必备的HAL库API(重要)

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第16章       STM32H7必备的HAL库API(重要 ...

  9. 给HttpClient添加请求头(HttpClientFactory)

    前言 在微服务的大环境下,会出现这个服务调用这个接口,那个接口的情况.假设出了问题,需要排查的时候,我们要怎么关联不同服务之间的调用情况呢?换句话就是说,这个请求的结果不对,看看是那里出了问题. 最简 ...

  10. 码云git常用命令

    Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加 ...