一 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次,上不封顶 |