一 grep完整语法结构
grep  [options]  [pattern]  file
命令  参数         匹配模式   文件数据
常用参数总结
-i  --忽略大小写
-n --列出所有匹配的行,并显示行号
-l  --只列出符合条件的文件名称
-L  --列出不包含匹配项的文件名称
-r  --递归搜索
-x  --匹配整行
-w --匹配整词
-v  --反显
-E  --匹配多个内容  grep -E "laity| guan" ./*
-c  --只统计匹配行数
-o  --只输出匹配内容
二 grep中常用正则表达式
2.1 基本正则表达式
| 表达式 | 解释说明 | 
| ^ | 用于模式最左侧,如“^yu”表示匹配以yu开头的单词 | 
| $$ | 用于模式最右侧,如“aa$”表示匹配以aa结尾的单词 | 
| ^$ | 组合符,表示空行 | 
| . | 匹配任意一个且只有一个字符,不能匹配空行 | 
| * | 重复匹配前一个字符连续出现0次或1次以上 | 
| .* | 匹配任意字符 | 
| ^.* | 匹配任意多个字符开头的内容 | 
| .*$ | 匹配任意多个字符结尾的内容 | 
| [abc] | 匹配[]内集合中的任意一个字符,a或b或c,也可以写成[ac] | 
| ^[abc] | 匹配除了^后面的任意一个字符,a或b或c,[]内^表示取反操作 | 
2.2 扩展正则表达式
| 表达式 | 解释说明 | 
| + | 表示匹配前一个字符一次或多次 | 
| ? | 表示匹配前一个字符0次或1次 | 
| () | 将一个或多个字符捆绑在一起,当作整体集体处理 | 
| {1,2}\ | 匹配目标字符,最少n次,最多m次 | 
| {n,}\ | 匹配目标字符,最少n次,上不封顶 |