linux shell cat 获取某个关键词前后N行

2022-09-08 546点热度 0人点赞 0条评论

需求说明

Linux上查询日志的时候,需要查找到某个关键词,并显示出这个关键词所在的行的前后多少行,来分析。

实现

正常使用搜索关键词的命令是cat /path/to/log | grep 'Keywords'

在关键词的基础上显示前后几行的命令是:

# 获取someKeywords的前10行
cat /path/to/logfile.log | grep "someKeywords" -B 10

# 获取someKeywords的后10行
cat /path/to/logfile.log | grep "someKeywords" -A 10

# 获取someKeywords的前后10行 
cat /path/to/logfile.log | grep "someKeywords" -C 10 

# 前后10行也可以使用-A和-B的组合
cat /path/to/logfile.log | grep "someKeywords" -A 10 -B 10

说明:
-A 表示关键字之后,After
-B 表示关键字之前,Before
-C 表示关键字前后,Context

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论