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
- 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 的日志 高亮显示