日志检索实战 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. 算法问题实战策略 FENCE

    地址 https://algospot.com/judge/problem/read/FENCE 开始考虑暴力遍历 #include <iostream> #include <str ...

  2. html和css常见问题解答

    1. 详细描述层叠和继承的概念. 元素内嵌样式(用元素的全局属性style定义的样式) 文档内嵌样式(定义在style元素中的样式) 外部样式(用link元素导入的样式) 用户样式(用户定义的样式) ...

  3. VUE 实现监听滚动事件,实现数据懒加载

    methods: { // 获取滚动条当前的位置 getScrollTop() { let scrollTop = 0 if (document.documentElement && ...

  4. ES6 class类中定义私有变量

    ES6 class类中定义私有变量 class类的不足 看起来, es6 中 class 的出现拉近了 JS 和传统 OOP 语言的距离.但是,它仅仅是一个语法糖罢了,不能实现传统 OOP 语言一样的 ...

  5. 剑指Offer-31.整数中1出现的次数(从1到n整数中1出现的次数)(C++/Java)

    题目: 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了.A ...

  6. 七夕节 (HDU - 1215) 【简单数论】【找因数】

    七夕节 (HDU - 1215) [简单数论][找因数] 标签: 入门讲座题解 数论 题目描述 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们 ...

  7. 设计模式-State(行为模式)-很好的实现了对象的状态逻辑与动作实现的分类,状态逻辑在State的派生类实现,动作可以放在Context类中实现。

    以下代码来源: 设计模式精解-GoF 23种设计模式解析附C++实现源码 //Context.h #pragma once class State; class Context { public: C ...

  8. <Matrix> 311 378

    311. Sparse Matrix Multiplication 稀疏矩阵的计算.稀疏矩阵的特点是有大量的0,如果采用暴力算法则比然会有很多无意义的计算. C[ i ][ j ] += A[ i ] ...

  9. CF1253E Antenna Coverage(DP)

    本题难点在正确性证明. 令 \(f_i\) 表示 \([1,i]\) 被全部覆盖的最小花费.答案为 \(f_m\). 首先发现,添加一个区间 \([0,0]\) 不会影响答案.所以 \(f_i\) 的 ...

  10. ROS Tricks

    Gazebo 第一次进入 Gazebo 会卡在开始界面,此时是在加载模型文件,为保证模型顺利加载,可以提前将模型文件下载并放在本地路径 ~/.gazebo/models 下,模型文件下载地址: htt ...