linux查看日志的奇淫技巧

对于日志很大,打开的时候造成服务器压力的日志文件怎么处理

首先介绍命令,下面的awk ‘END{print NR}’ hello.txt表示查看hello.txt文件里面总共有多少行,下面的sed -n ‘1,3p’ hello.txt表示把hello.txt文件里面的第一行到第三行里面的内容给输出来

awk 'END{print NR}' hello.txt
sed -n '1,3p' hello.txt

比如下面的hello.txt文件,内容如下所示在这里插入图片描述
然后我们执行下面的命令,此时可以看到hello.txt文件总共有5行在这里插入图片描述
然后我们可以使用下面的命令把hello.txt文件里面的第一行到第三行的结果给打印出来

在这里插入图片描述

但是有的时候,我们会发现sed -n ‘1,3p’ hello.txt这个命令返回的数据过多没有办法查找日志的问题

就比如tomcat里面的catalina.out日志文件太大,如果我们直接使用vi catalina.out命令,就有可能把linux的内存给搞爆了,因为catalina.out文件太大了,他总有下图这么多行
在这里插入图片描述

然后我们想查询sed -n ‘27150657, 27351657p’ catalina.out里面是否有/iosRecharge这个接口的调用,此时查看就非常麻烦,我们怎么解决呢,把sed -n ‘27150657, 27351657p’ catalina.out输出的放到一个文件里面,此时就可以使用命令 sed -n ‘27150657, 27351657p’ catalina.out > cc.txt
在这里插入图片描述

然后我们就可以直接使用vi命令打开这个cc.txt文件了,此时的cc.txt文件里面的内容就很少了,此时就很容易打开了, 这就是对于日志很大,打开的时候造成服务器压力的日志文件的处理方式
在这里插入图片描述

匹配输出文件里面的查询内容所在行的上下几行

因为我们在查看日志的时候,经常需要看到日志里面ERROR级别的上下几行的打印信息,此时我们就可以使用这个技巧:cat和grep一起使用对文件进行模糊匹配
总共有下面三种

cat xx.log | grep -C 5 '关键字' 显示file文件里匹配“关键字”字串那行以及上下5行
cat xx.log | grep -B 5 '关键字' 显示“关键字”及前5行
cat xx.log | grep -A 5 '关键字' 显示“关键字”及后5行

这里只要会一个,就会其他的了,所以讲一个就好了
首先hello.txt内容如下所示
在这里插入图片描述
然后我们的命令如下所示cat hello.txt | grep -C 1 ‘ziji’
然后就可以看到吧ziji这一行和ziji这一行的上面一行和ziji这一行的下面一行给输出来了

在这里插入图片描述
然后我们的命令如下所示cat hello.txt | grep -C 2 ‘ziji’
然后就可以看到吧ziji这一行和ziji这一行的上面两行和ziji这一行的下面两行给输出来了
在这里插入图片描述

使用grep命令输出查询内容的行数和这一行的内容

如果我们想知道日志里面查询内容的某一行的内容,我们可以使用这个命令,只需要借助grep命令就好了,命令如下

下面的grep -in ‘wo’ hello.txt里面的-in里面的i表示忽略查询,n表示显示行数,表示查询hello.txt里面wo字符串所在的行的内容,和wo字符串所在的行数

grep -in 'wo' hello.txt

首先hello.txt内容如下所示
在这里插入图片描述

然后执行结果如下所示,表示把hello.txt文件里面有wo的那一行数据给打印出来
在这里插入图片描述

这就是我自己总结的linux查看日志的奇淫技巧,如果有什么不对的,欢迎各位大佬留言指出。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值