引语:相信大家都会偶尔遇到要排查问题发生的原因的情况,那这种时候,我们最有力后盾就是日志文件了,所以谨记日志记录真的很重要。但是日志文件往往是很大的文件,而且里面有太多的东西可能不是我们需要的,如无数重复行。如果能够有效筛选出对我们有意义的记录,那就太方便了!下面,就记录一些我筛选日志的一些技巧,供自己和部分需要的新手朋友参考!(高能勿喷,欢迎留下你的高见)
  主要使用awk命令进行筛选!

原始日志php_error.log如下:

[21-Nov-2015 11:10:14 UTC] PHP Warning: PHP Startup: in Unknown on line 0
[21-Nov-2015 11:39:48 UTC] PHP Notice: Undefined index: HTTP_RAW_POST_DATA in E:\wamp\www\htdocs\wx_receiver.php on line 39

  重定向输出相关(这个很重要,因为所有打印出来的,你不可能看得完,导出到其他地方后慢慢分析才是硬道理):

$ echo "hello,world!" > out.log        #直接输出到
$ echo "hello,world!" >> out.log      #以添加的形式输出到
$ echo "ssss!" >> out.log 2>&1       #指定错误级别输出到

  筛选含有warning的记录:

$ awk '/Warning/' php_error.log
$ awk '{if($0 ~ /Warning/)print $0;}' php_error.log    #完整写法

  筛选含Warning后面出现Startup的记录:

$ awk '/Warning.*?Startup/' php_error.log
$ awk '{if($0 ~ /Warning.*?Startup/)print $0;}' php_error.log  #完整写法

原始日志mysql_error.log如下:

[2015-12-20 20:45:51] Error in Mysql::fetch
E:\wamp\www\includes\class\db.cls.php on line 149
E:\wamp\www\htdocs\pp\system\Model.cls.php on line 44
E:\wamp\www\htdocs\pp\controllers\admin\ScoreController.cls.php on line 56
E:\wamp\www\htdocs\pp\system\Application.cls.php on line 72
E:\wamp\www\htdocs\pp\system\Application.cls.php on line 49
E:\wamp\www\htdocs\pp\index.php on line 19[2015-12-20 20:45:51] mysql_errno: 1054
mysql_error: Unknown column 'score_rule' in 'field list'
E:\wamp\www\includes\class\db.cls.php on line 64
E:\wamp\www\htdocs\pp\system\Model.cls.php on line 43
E:\wamp\www\htdocs\pp\controllers\admin\SeController.cls.php on line 86
E:\wamp\www\htdocs\pp\system\Application.cls.php on line 72
E:\wamp\www\htdocs\pp\system\Application.cls.php on line 49
E:\wamp\www\htdocs\pp\index.php on line 19

  去除相同行(时间除外),并带时间行数打印出:

$ awk '{if($1 ~ /^\[[[:digit:]]{4}-/){t=$0;}else{if(!a[$0]++)print NR, " ===> ", t, " ", $0;}}' mysql_error.log

  其他类似情况,请详细理解正则表达式写法。

  直接查看原始mysql-bin-log日志(binlog是二进制文件,查看不了,需借助mysqlbinlog工具):

$ mysqlbinlog mysql-bin-log.000038 > out.log 2>&1

  统计某文件夹下的文件行数:

grep -r -c ./* "<?php" | wc -l
grep -r -l "<?php" ./thinkphp/* | xargs cat | wc -l    #more perfectwc -l *
find . -name "*.java" | wc -l
find . -name "*.java" | wc -l | grep total

  对于字符一类的处理,awk,sed等命令是相当方便的,适当运用一下,对于工作还是挺方便的。但是这种东西用多了,往往在windows的工具下,也有这种操作的想法,但是绝对没有这么方便,可以使用一些简单的正则进行匹配一些字符,也还是提高查找速度的!

  正则:好东西!

  关键:找特征,写规则,极简化!

  注意:各个语言的具体描述,可能不同!

diff file1 file2        #比较两个文件的差异
cat file.txt | sort > file.txt  #让文件内容按字母排序

统计代码行数:

find . -name '*.java' | xargs cat | wc -l

转载于:https://www.cnblogs.com/yougewe/p/5173635.html

日志查看技巧之筛选去重[排查篇]相关推荐

  1. linux中查看日志技巧,日志查看技巧之筛选[linux命令集][排查篇]

    引语:相信大家都会偶尔遇到要排查问题发生的原因的情况,那这种时候,我们最有力后盾就是日志文件了,所以谨记日志记录真的很重要.但是日志文件往往是很大的文件,而且里面有太多的东西可能不是我们需要的,如无数 ...

  2. linux查询日志命令加过滤,日志查看技巧之筛选[linux命令集][排查篇]

    引语:相信大家都会偶尔遇到要排查问题发生的原因的情况,那这种时候,我们最有力后盾就是日志文件了,所以谨记日志记录真的很重要.但是日志文件往往是很大的文件,而且里面有太多的东西可能不是我们需要的,如无数 ...

  3. 日志查看技巧_10种Git技巧,让你省时省力又省心!

    全文共1800字,预计学习时长4分钟 图片来源:unsplash.com/@sam_truong 1. 从另一分支切换单个文件 大家是否曾销毁文件只为能重新开始? 或需要在另一分支的某文件中进行更改? ...

  4. 日志查看技巧_如何用 Linux 技巧大大提高工作效率?

    前言 Linux中的一些小技巧可以大大提高你的工作效率,本文就细数那些提高效率或者简单却有效的Linux技巧. 命令编辑及光标移动 这里有很多快捷键可以帮我们修正自己的命令.接下来使用光标二字代替光标 ...

  5. linux日志查看技巧

    1.常用查看命令 # 查看实时日志并过滤 tail -f test.log |grep -a '关键字'# 过滤关键字数据,追加到文件 cat -n test.log | grep "关键字 ...

  6. 查看linux的计划任务日志,查看计划任务日志(共5篇).docx

    查看计划任务日志(共5篇) 沈阳工程学院 学生实验报告 实验室名称:信息学院网络安全实验室 实验课程名称:网络安全技术 实验项目名称:实验六日志查看与清除实验 班级:姓名:学号: 实验日期:XX年4月 ...

  7. 接口响应时间长排查,通过nginx日志查看接口响应时间

    场景 vue项目中,页面请求接口响应速度非常慢,F12打开谷歌控制台,查看network,发现响应时间为1.14秒 排查问题 接口响应速度慢,后端打断点进入接口到返回这段时间有很快,要判断是什么问题, ...

  8. 入侵排查篇--- windows入侵排查

    入侵排查篇- windows入侵排查 文章目录 入侵排查篇--- windows入侵排查 前言 一.检查系统账号安全 二.检查系统账号安全 三. 检查启动项.计划任务.服务 1.检查服务器是否有异常的 ...

  9. 日志查看_实时查看容器日志

    实时查看容器日志 介绍一款使用了几个月的开源小工具,Dozzle.它是一款轻量.简单的容器日志查看工具. 本篇将简单介绍如何使用它,包括搭配 Traefik,以及如何快速从源码构建它. 写在前面 这款 ...

最新文章

  1. MFC 基础知识:主对话框与子对话框(二)
  2. VS2015 添加DNX SDK
  3. MongoDB入门教程(1)
  4. XGBoost 与 Spark 在广告排序中的应用
  5. 一个栈桢对应着一个方法
  6. Host SMBus controller not enabled的解决方法
  7. chrome浏览器中解决embed标签 loop=true 背景音乐无法循环的问题。
  8. tcp分包传图片 如何还原_技术控丨超详细解析TCP重传机制
  9. Tomcat server.xml详解
  10. 安卓 页面跳转_挑战安卓和iOS!华为:鸿蒙覆盖1亿台设备,明年出鸿蒙手机
  11. PHP关闭$_ENV后获取服务器参数的办法
  12. Lc1013将数组分成相等的三个部分
  13. lib-flexible vue项目(移动端适配)
  14. php对接小程序获取表单,PHP实现微信小程序用户授权的工具类
  15. 单页网站快速创富秘籍
  16. zynq usb dwc3中断事件异常
  17. 微信公众号 语音转文字api_有没有语音转文字的APP?
  18. pdf文件转为md文件
  19. 亿图图示----组织架构图----市场组织架构和公司架构图及家庭架构图
  20. 2020年中国电机驱动芯片行业产业链、市场规模、产量及发展趋势分析「图」

热门文章

  1. TCP BBR 短评
  2. 一些问题的解决,分析
  3. 【论文笔记】Exploring and Distilling Posterior and Prior Knowledge for Radiology Report ... (CVPR 2021)
  4. OpenRA-RA2编译指南
  5. 湘潭大学有计算机博士点吗,2020年拟新增一级学科博士点:长沙理工第一,湖南科大第二...
  6. python 团体程序设计天梯赛L1合集(持续更新)
  7. 1326. 灌溉花园的最少水龙头数目 动态规划
  8. linphone android 分析,Android平台上的Linphone学习(一)
  9. 每天一个 Linux 命令(55):traceroute命令
  10. 创龙TI AM570x浮点DSP C66x + ARM Cortex-A15工业开发板规格书