grep与日志开发
01 July 2014
后台开发离不开日志,日志能帮助检查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–