当前位置: 首页>编程语言>正文

grep 查找log日志耗时较长数据 grep查询日志

对于一个程序猿而言,如果生产产生Bug,查看日志和错误定位是第一步,假设我们现在有一个叫做catalina.out的日志文件,那么,这几个最基本的命令,我们必须掌握:
tail -f catalina.out 日志跟踪,查看有无交易
tail -fn100 catalina.out 查询日志尾部最后100行的日志
vi catalina.out 打开日志文件
vim catalina.out 打开日志文件
cat catalina.out 文本输出命令

打开日志文件后(基本上也就是vi或者vim命令),我们肯定要查询关键词,只需要记住以下这几个命令,基本也够用了:
G或者shift+g跳转到文件的末尾
?+关键字向查找对应的记录
/+关键字向查找对应的记录
这时,输入 n 命令可以按相同的方向继续查找,输入N 命令可以按相反的方向继续查找。

Vi相关命令,可以参照这篇博客:

基本上,掌握这些命令,应对大部分日志查询足以,可是如果日志很大,vi还好,可是cat就应付不过来了,你会感觉到明显的卡顿,ctrl+c退出cat命令都可能要好久,所以,掌握下面这套组合拳,就很有必要了:
cat catalina.out | grep 182001100019

这么一个简单的命令,就能将catalina.out中所有含有182001100019的记录给查出来,关键速度还挺快。当然,只查出这么个东西,大多时候往往还不够,我们还需要知道其前后10行或者20行的东西是什么(记录的日志上下文),所以我们需要把行号打出来,所以在cat命令后面加上一个-n 参数就好了:

cat -n catalina.out | grep 182001100019

grep 查找log日志耗时较长数据 grep查询日志,grep 查找log日志耗时较长数据 grep查询日志_日志文件,第1张

知道行号(我们打印出来的行号是762),我们就可以检索前后20行的东西,比如:

sed -n "742,782p" catalina.out 从742行开始检索,到782行结束

cat -n catalina.out | tail -n +762 | head -n 20 从762行开始检索,往后tail20条

如果cat输出日志太多,我们需要写到txt文本中,我们可以使用more命令来浏览或者输出到文件上再分析:

cat catalina.out | grep 13 |more :将查询后的结果交由more输出
cat catalina.out | grep 13 > /home/tomcat/tomcat7/logs/aa.txt 将查询后的结果写到/home/tomcat/tomcat7/logs/aa.txt文件上

如果想统计catalina.out这个日志一共有多少行,我们可以:
cat catalina.out | wc -l



https://www.xamrdz.com/lan/5as1963656.html

相关文章: