shell并不是左右命令都支持正则表达式.
shell中只有·grep sed awk·支持正则表达式
| 定位符 | 说明 |
|---|---|
| ^ | 锚定开头. ^a 以a开头,默认锚定一个字符 |
| $ | 锚定结尾. c$ 以c结尾,默认锚定一个字符 |
| 匹配符 | 说明 | 举例 |
|---|---|---|
| . | 匹配除会车外的任意一个字符 | ^a.z$ |
| [] | 匹配[]中的任意一个字符 | ^a[0-9]c$ |
| [^] | 取反 | |
| \ | 匹配转义字符 | ^a\*z$ |
| () | 字符串分组 | `^(a |
| 限定符 | 说明 | 举例 |
|---|---|---|
| * | 某个字符后加*表示该字符不出现或出现任意多次 | |
| ? | 某个字符后加?表示该字符出现一次或不出现 | |
| + | 某个字符后加?表示该字符出现一次或任意多次,但必须出现 | |
| {n,m} | 某个字符出现之后,至少n次,至多m次 | |
| {m} | 正好m次 |
^a[[:alnum:]]c
第一个中括号:是匹配符,匹配中括号中的任一个字符
第二个中括号:是格式,POSIX特殊字符

