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