Linux查看日志-grep

1.基本语法

grep [参数] 关键字 文件

1) 参数选项:正则表达式

-n 结果显示行号
-c 关键字匹配的行次数
-i 关键字忽略大小写
-v 反向选择
-e 后跟一个正则表达式
-m10 查找到10次就中止继续查找
-A10 显示关键字所在行和后10行
-B10 显示关键字所在行和前10行
-C10 显示关键字所在行和先后10行
--color=auto 关键字高亮显示(多个参数一块儿使用,color属性须要放最后,注意是两个短线)

2) grep 能够跟正则,详细信息code

grep  -n  t[ea]st info.log       查询test或者tast   ([]一个字符)
grep  -n  [^g]oo                查询oo但不包含goo的行  (^在[]内表示反向选择)
grep  -n  [^a-z]oo              查询oo但不包含小写字母+oo的行 ([a-z] 一个小写字母)
grep  -n  [0-9]         查询包含数字的行  ([0-9] 一个数字)
grep  -n  ^the          查询the开头的行 (^不在[]内表示定位到行首)
grep  -n  ^[^a-zA-Z]        查询不是以字母开头的行 (^反向和定位)
grep  -n  \.$                   查询以.结尾的行 (\转义 $结尾)
grep  -n  ^$                    找出空白行  (^$  空白行)
grep  -n  g..d          查询g??d的字符串的行(.表示一个)
grep  -n  ooo*          查询至少包含两个oo的行(* 表示重复前边一个字符0-n次)
grep  -n  goo*g             查询g开头g结尾且中间至少包含一个o的行
grep  -n  g.*g          查询g开头g结尾且中间字符无关紧要的行 (.*表示没有或有任意个字符)
grep  -n  o\{2\}            查询oo的行({2} 前边字符重复2次,{}转义)

2.多关键字grep

1) 多条件或递归

grep -E '关键字1|关键字2|关键字3' info.log

匹配关键字1或关键字2或关键字3到任意一个,展现该行字符串

2) 多条件与ast

grep '关键字1' info.log | grep '关键字2' | grep '关键字3'

匹配到关键字1和关键字2和关键字3所有,展现该行test

3.多文件grep

1) 当前目录下grep文件语法

grep 关键字  *

2) 当前目录下grep文件夹以及文件夹下全部文件(递归)grep

grep -r 关键字 *

3.demo

1) 在info.log 模糊查询关键字(订单号:5a8f4709db9d493b),并显示匹配行上下10行,以及行号demo

grep -n -C10 '订单号:5a8f4709db9d493b' info.log
相关文章
相关标签/搜索