Linux,grep命令,在大日志文件中搜索关键字 最后/最开始出现位置

Linux,grep命令,在大日志文件中搜索关键字 最后/最开始出现位置

 

grep [选项]... PATTERN [FILE]...
 

grep -C N,(N代表一个整数)是搜索关键字出现位置,并且和上下相邻50行的结果

grep -A N,是搜索关键字出现位置,并且和关键字后50行结果(After)

grep -B N,是搜索关键字出现位置,并且和关键字前50行结果(Before)

 

那么有时候如果日志文件够大,并且显示得关键字匹配得更多,只需要看第一次出现或者最后一次出现的位置,

管道符后面,加上head/tail命令就行

 

grep -C N "keyword" file | tail -M (其中 M=2*N+1,也就是显示当前关键字行和上下N行,所以就是2*N+1)

 

例子:

grep -C 10 'ResponseBody' paybank_info.log |tail -21

下图中,圈出来的,位置,就是关键字ResponseBody最后一次出现位置,交易时间2020-05-27 16:24:51.628

Linux,grep命令,在大日志文件中搜索关键字 最后/最开始出现位置

同理,搜索第一次出现位置:

grep -C 10 'ResponseBody' paybank_info.log |head -21,交易时间:2020-05-27 10:56:12.423

Linux,grep命令,在大日志文件中搜索关键字 最后/最开始出现位置