日志检索实战 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. JAVA实现二维码生成加背景图

    pom.xml依赖 <!-- 二维码生成 -->         <!-- https://mvnrepository.com/artifact/com.google.zxing/c ...

  2. 06. Go 语言结构体

    Go语言结构体(struct) Go 语言通过用自定义的方式形成新的类型,结构体是类型中带有成员的复合类型.Go 语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性. Go 语言中的类 ...

  3. WPF 精修篇 属性触发器

    原文:WPF 精修篇 属性触发器 属性触发器是通过  某个条件触发改变属性 通过无代码实现功能 <Style TargetType="{x:Type Label}"> ...

  4. C语言验证哥德巴赫猜想

    #include<stdio.h>int f(int x);int main(void){    int n,i;  scanf("%d",&n);  for( ...

  5. c++用控制符控制输出格式

    #include<iostream> #include<cstdio> #include<iomanip> using namespace std; int mai ...

  6. 【AtCoder】AtCoder Grand Contest 039 解题报告

    点此进入比赛 \(A\):Connection and Disconnection(点此看题面) 大致题意: 给你一个字符串,将它重复\(k\)次.进行尽量少的操作,每次修改一个位置上的字符,使得不存 ...

  7. 洛谷 P5658 括号树

    \(50pts\) #include <cstdio> #include <cstring> #include <iostream> #include <al ...

  8. 基于Django的Rest Framework框架的响应器

    本文目录 一 作用 二 内置渲染器 三 局部使用 四 全局使用 五 自定义显示模版 回到目录 一 作用 根据 用户请求URL 或 用户可接受的类型,筛选出合适的 渲染组件.用户请求URL:    ht ...

  9. NRF51822/NRF51802/NRF52832/NRF52810/NRF52811/NRF52840内核对比

    NRF51822的内核为M0,FLASH是256K,RAM是16K,蓝牙BLE4.0/4.2(SDK新版本支持4.2)NRF51802的内核为M0,FLASH是256K,RAM是16K,蓝牙BLE4. ...

  10. 《细说PHP》第四版 样章 第23章 自定义PHP接口规范 9

    23.5.3  WebAPI框架应用 程序框架其实就是一个半成品项目,在应用框架时,核心的服务程序只应用,不需要改动.当然如果有必要,也可以根据项目的需要对框架进行二次开发.本节内容主要基于我们的框架 ...