日志检索实战 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. list集合优化,泛型的使用以及坼箱和装箱

    1.list vector线程同步,线程安全arraylist的运行速度较快,因为没有使用线程 LlinkedList以链表结构存储数据 2.泛型泛型类 泛型接口 泛型方法 泛型的属性泛型的属性 属性 ...

  2. jsp连接mysql出现不支持认证协议的解决办法

    错误提示 com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Client does not support authent ...

  3. AcWing 32. 调整数组顺序使奇数位于偶数前面

    习题地址 https://www.acwing.com/solution/acwing/content/2921/ 输入一个整数数组,实现一个函数来调整该数组中数字的顺序. 使得所有的奇数位于数组的前 ...

  4. beego安装错误处理

    1. 安装beego时无法安装go依赖包 解决办法: $vim ~/.bashrc export GOPROXY=https://goproxy.io $source ~/.bashrc$go get ...

  5. hyper-v简介及安装使用

     前言:作为IT界的巨头,微软自己的虚拟化技术,也是微软第一个采用Vmware与CitrixXen一样基于hypervisor的虚拟化技术,有着自己可圈可点的地方,微软自己的虚拟化技术嘛,对windo ...

  6. 用sticky.js实现头部导航栏固定

    在页面中,如果页面长度过大,滑动页面时,头部导航栏则会跟着划走. 我的头部导航栏代码为: <div class="headbar"> <center class= ...

  7. 五分钟搞定 HTTPS 配置,二哥手把手教

    01.关于 FreeSSL.cn FreeSSL.cn 是一个免费提供 HTTPS 证书申请.HTTPS 证书管理和 HTTPS 证书到期提醒服务的网站,旨在推进 HTTPS 证书的普及与应用,简化证 ...

  8. Android高可用移动网络连接---(转载自http://wingjay.com/2019/01/16/mobile-network-connection/)

    读者好,前面我们在 <Android 架构之网络连接与加速> 和<Android 架构之长连接技术>两篇文章中,讲解了 Http 短连接.TCP 长连接.连接复用与速度优化.数 ...

  9. 常用的js、java编码解码方法

    前言 前后端直接传输数据进行交互不就行了吗,为什么还要进行编码解码?正常情况下直接交互没问题,但当有类似以下情况出现时就需要进行编码再进行传输: 1.编码格式难以统一,导致数据交互过程出现中文乱码等问 ...

  10. 2019-9-23-win10-uwp-睡眠唤醒

    原文:2019-9-23-win10-uwp-睡眠唤醒 title author date CreateTime categories win10 uwp 睡眠唤醒 lindexi 2019-9-23 ...