linux如何在文件中搜索并查看指定关键字前前后后n行的数据
目录
linux如何在文件中搜索并查看指定关键字前前后后n行的数据?
场景:公司业务流程抛出了异常,就需要去linux上面查日志,但是公司的日志每秒钟都要打印几百行,实在是不好抓报错的内容。那么怎样办呢?
首先,根据关键字搜索该关键字所在的行数,比如我找的日志包含关键字xxx…commonInvokeClient…xxx,就用如下的命令查看该关键字出现在日志中的行数。
grep -n -w "xxx...commonInvokeClient...xxx" 日志文件名
其中 grep 是模糊查找的意思,-n 是显示文件的行数,-w只显示关键字所在的行。
这样我们就得到了我们日志的关键字所在的行数,如上图为141344行,我们可以使用如下命令查看该行前后的内容:
sed -n "141244,141444p" 文件名
该命令可以查看此文件141244到141444行的内容。