目录

linux如何在文件中搜索并查看指定关键字前前后后n行的数据

目录

linux如何在文件中搜索并查看指定关键字前前后后n行的数据?

场景:公司业务流程抛出了异常,就需要去linux上面查日志,但是公司的日志每秒钟都要打印几百行,实在是不好抓报错的内容。那么怎样办呢?

首先,根据关键字搜索该关键字所在的行数,比如我找的日志包含关键字xxx…commonInvokeClient…xxx,就用如下的命令查看该关键字出现在日志中的行数。

grep -n -w "xxx...commonInvokeClient...xxx"  日志文件名

其中 grep 是模糊查找的意思,-n 是显示文件的行数,-w只显示关键字所在的行。

https://i-blog.csdnimg.cn/blog_migrate/e9f19a215ed98f1f55540efcbf7a16d8.png

这样我们就得到了我们日志的关键字所在的行数,如上图为141344行,我们可以使用如下命令查看该行前后的内容:

sed -n "141244,141444p" 文件名

该命令可以查看此文件141244到141444行的内容。