linux利用grep查看打印匹配的下几行或前后几行的命令

grep  v2/sys/department/get_list qypms-web.log

grep | 接口  日志文件

 

实时查看日志

tail -f qypms-web.log

 

tail -f qypms-web.log | grep '质量部'

 

到日志里搜索

cd /data1/logs/app/qypms-api/

grep --color '质量部' qypms-api.log     搜索的字段会变色           -n是行号

grep -n --color -2  3c32269449704af491123b6c54bf98a9 qypms-web.log  

(这一串是id 值)

或者去库里找,(chengzu_history是专门的lite端埋点的表) 倒序排序一下

select * from chengzu_history where g_c_id = 010110304 order by create_time desc

 

转自:http://www.itokit.com/2013/0308/74883.html

 

linux系统中,利用grep打印匹配的上下几行

grep 后面带上-A -B -C 参数可以多显示几行内容

//搜索inputfile中满足parttern的内容的行号

grep -n '质量部' qypms-api.log

 

如果在只是想从日志文件inputfile 匹配parttern 的上下几行,grep可以实现。

 grep -5n '质量部' qypms-api.log//打印匹配行的前后5行

grep -C -5 '质量部' qypms-api.log


查看mysql慢日志中ip地址为192.168.0.10发送过来的SQL语句的后面50
 

  1. tail -50 /usr/local/mysql/data/sql-slow.log |grep -3 '192.168.0.10'  

匹配php错误日志中某一个字段

  2,tail -100 /data/logs/php/php_error_5.3.log  | grep  "Memcache::get()";

 

查看某一个文件filename  的第5行和第10行

 sed -n '5,10p' qypms-api.log  这样你就可以只查看文件的第5行到第10行。

 

查询时间端的日志  (不知道具体)

sed -n '/2018-09-14 08:00:00/,/2018-09-14 10:25:00/p' qypms-web.log

实时日志查看的时候,高亮显示出现的指定关键字,例如指定的关键词是员工,如下:

tail -f qypms-api.log  | egrep  '员工|010110304' --color

法二

tail -f qypms-api.log | perl -pe 's/(员工)/\e[1;31m$1\e[0m/g'

 

只会打印出包含这几个关键字的部分,

完整的日志45行, grep  只有6

所以需要完善,比如打印异常的或者 安全码gcid    不然会漏掉

 

 

 

只是搜索日志(关键词高亮)  

grep -E '员工|010110304' --color qypms-web.log

或者

egrep  '员工|010110304' --color qypms-web.log

会将关键字 员工  010110304  的日志 高亮显示