linux搜索关键字前后几行
前言
之前遇到过一个问题,需要查询日志,是linux服务器,但是日志文件很大,超过20G,日志输出特别快,所以直接tail -f 无法也很难截取到日志,所以就想根据关键字,用tail查看最近多少行的日志输出,再用grep搜索查看前后几行的信息
命令
根据关键字查看日志
1 | cat web_info.log | grep “请求结果” |
根据关键字查看后10行日志
1 | cat web_info.log | grep “请求结果” -A 10 |
根据关键字查看前10行日志
1 | cat web_info.log | grep “请求结果” -B 10 |
根据关键字查看前后10行日志,并显示出行号
1 | cat -n web_info.log | grep “请求结果” -C 10 |
查看日志前 50 行
1 | cat web_info.log | head -n 50 |
查看日志后 50 行,并显示出行号
1 | cat -n web_info.log | tail -n 50 |
说明:
- -A 表示关键字之后,After
- -B 表示关键字之前,Before
- -C 表示关键字前后,Context