01 July 2014

IMG-THUMBNAIL

后台开发离不开日志,日志能帮助检查bug。而大量的日志并不能通过人工阅读进行检查,一般都是借助grep工具。这里将通过学习grep命令来对日志的打印方式进行分析。

后台开发离不开日志,日志能帮助检查bug。日志开发本身没有太高的难度,就是把数据追加输出到文件即可。然而,日志往往数据量非常大。大量的日志并不能通过人工阅读进行检查,一般都是借助grep工具。这里将通过学习grep命令来对日志的打印方式进行分析。

grep全称是Global Regular Expression Print,表示全局正则表达式版本。

[options]主要参数:

  -c   只输出匹配行的计数  
  -I   不区分大 小写(只适用于单字符)  
  -h   查询多文件时不显示文件名  
  -l   查询多文件时只输出包含匹配字符的文件名  
  -n   显示匹配行及 行号  
  -s   不显示不存在或无匹配文本的错误信息  
  -v   显示不包含匹配文本的所有行  

pattern正则表达式主要参数:

  \   忽略正则表达式中特殊字符的原有含义  
  ^   匹配正则表达式的开始行  
  $   匹配正则表达式的结束行  
  <   从匹配正则表达 式的行开始  
  >   到匹配正则表达式的行结束  
  [ ]   单个字符,如[A]即A符合要求  
  [ - ]   范围,如[A-Z],即A、B、C一直到Z都符合要求  
  .   所有的单个字符  
  *   字符,长度可以为0  
  • 按照目录搜索grep magic /usr/src/Linux/Doc/*
  • 查找单个文件more size.txt | grep '[a-b]'
  • 安装日期查找

      $ cat 1.log | grep '2014-07-02'
    
  • 按照中间内容查找

      $ cat /cygdrive/c/Users/Thinkpad/Desktop/1.log | grep /cyeam/test/url/aaa
    

2014-07-01T09:41:00 /cyeam/test/url/aaa 12
2014-07-02T09:41:01 /cyeam/test/url/aaa 12
2014-07-02T09:42:01 /cyeam/test/url/bbb 12
2014-07-02T09:46:01 /cyeam/test/url/ccc 12
2014-07-02T09:49:01 /cyeam/test/url/aaa 12
2014-07-02T09:51:01 /cyeam/test/url/bbb 12
2014-07-02T09:52:01 /cyeam/test/url/aaa 12
2014-07-02T09:59:01 /cyeam/test/url/ccc 12

参考文献

原文链接:grep与日志开发,转载请注明来源!

EOF