Linux三剑客(grep、sed、awk)【〇、正则表达式的分类】
绪论
Linux三剑客【grep、sed、awk】
文本处理工具,均支持正则表达式引擎
- grep:文本过滤工具,(模式:pattern)工具
- sed:stream editor,流编辑器;文本编辑工具
- awk:linux的文本报告生成器(格式化文本),linux上时gawk
正则表达式的分类
linux三剑客主要分两类
- 基本正则表达式(BRE、basic regular expression)
BRE对应元字符有 ^ $ . [ ] * - 扩展正则表达式(ERE、extended regular expression)
ERE在BRE基础上,增加了 ( ) { } ? + | 等字符
基本正则表达式BRE集合
- 匹配字符
- 匹配次数
- 位置锚定
符号 | 作用 |
---|---|
^ | 尖角号,用于模式的最左侧,如 “^oldboy”,匹配以oldboy单词开头的行 |
$ | 美元符,用于模式的最右侧,如"oldboy$",表示以oldboy单词结尾的行 |
^$ | 组合符,表示空行 |
. | 匹配任意一个且只有一个字符,不能匹配空行 |
\ | 转义字符,让特殊含义的字符,显出原形,还原本意 |
* | 匹配前一个字符(连续出现)0次或1次以上,重复0次代表空,即匹配所有内容 |
.* | 组合符,匹配所有内容 |
^.* | 组合符,匹配任意多个字符开头的内容 |
.*$ | 组合符,匹配任意以任意多个字符结尾的内容 |
[abc] | 匹配[]集合内的任意一个字符,a或b或c,可以写 [a-c] |
^abc | 匹配除了^后面的任意字符,a或b或c, ^表示对[abc]的取反 |
扩展正则表达式ERE集合
扩展正则必须用 grep -E 才能生效
字符 | 作用 |
---|---|
+ | 匹配前一个字符1次或多次 |
[: /]+ | 匹配括号内的":“或者”"字符1次或多次 |
? | 匹配前一个字符0次或1次 |
| | 表示或者,同时过滤多个字符串 |
() | 分组过滤,被括起来的内容表示一个整体 |
a{n,m} | 匹配前一个字符最少n次,最多m次 |
a{n,} | 匹配前一个字符最少n次 |
a{n} | 匹配前一个字符正好n次 |
a{,m} | 匹配前一个字符最多m次 |
Tips:
grep命令需要使用参数 -E 即可支持正则表达式;
egrep不推荐使用,使用grep -E代替;
grep不加参数,得在特殊字符前面加“\”反斜杠,识别为正则。
原文地址:https://blog.csdn.net/qq_44799103/article/details/141902102
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!