需求说明
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
文章评论