【笔记】Shell的正则表达式
前言
Shell的正则表达式学习笔记
对文件模糊匹配
1 | egrep "正则表达式" file |
定位符
^
:定义匹配开始$
:定义匹配结尾
<str>
:一个字符串
匹配开头
- 匹配指定字符串开头
1 | <str>$ |
匹配结尾
- 匹配指定字符串结尾
1 | ^<str> |
匹配符
- 用于匹配字符
匹配符 | 注释 |
---|---|
. |
匹配除了回车以外的任意字符 |
() |
字符串分组 |
[] |
匹配所包含的任意一个字符 |
[^] |
匹配所不包含的任意一个字符 |
\ |
转义字符 |
限定符
- 用于指定匹配的字符出现的次数
限定符 | 注释 |
---|---|
* |
出现任意次 |
? |
出现零次或一次 |
+ |
出现一次或多次 |
{n,m} | 出现最少n次,最多m次 |
{m} | 出现m次 |
POSIX特殊字符
- 用于匹配一类字符
特殊字符 | 注释 |
---|---|
[:alnum:] | 0-9、a-z、A-Z |
[:alpha:] | 任意大写字母、小写字母 |
[:digit:] | 任意一个数字 |
[:graph:] | 任意非空字符(不包括空格) |
[:lower:] | 任意小写字母 |
[:upper:] | 任意大写字母 |
[:cntrl:] | 控制字符 |
[:print:] | 任意非空字符(包括空格) |
[:punct:] | 任意标点符号 |
[:blank:] | 空格和制表符 |
[:xdigit:] | 16进制数字 |
[:space:] | 任意空白字符(空行、空格、制表符) |