正则表达式相关
正则表达式
是指用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。就是用某种模式去匹配一类字符串的一个公式。
touch bb.txt
grep “m*” bb.txt
基本元字符集
grep -E = egrep
· 匹配任意单个字符。 如:rat、r、t。 |
---|
^ 匹配一行的开始 |
$ 匹配一行的结尾 |
匹配0个或多个前面的字符 |
+ 匹配1个或者多个+前面的字符(需要\号,如grep -E “11+” /root/2) |
? 匹配0个或1个?之前的字符 |
\ 转义 |
[]匹配括号中的任何一个字符。如:[abc] |
[^] 匹配不在括号中的,表示排除 如[^abc]或者 grep -v [abc] |
< 匹配词的开始 |
> 匹配词的结束。 如 <the>\。 |
| 或。 例如 (him|her) |
{m} 前面的表达式重复m次。如:“\w{2}”相当于“\w\w”。 |
---|
{m,n} 表达式至少重复m次,做多重复n次。如:“ba{1,3}”匹配“ba”或“baa”“baaa” “d{2,3}” |
{m,} 表达式至少重复m次 |
\w 任意一个字母或数字或下划线 |
\d 任意一个数字 grep [0-9] bb.txt |
\s 空格、制表符、换页符、空白符中的任意的一个。 |
\b 匹配一个单词的边界。如:“.\b.” 以什么开头放后边 以什么结尾放前边 |
环境支持
命令或环境 | · | [] | ^ | $ | ( ) | { } | ? | + | | | ( ) |
---|---|---|---|---|---|---|---|---|---|---|
vi | × | × | × | × | × | |||||
awk | × | × | × | × | × | × | × | × | ||
sed | × | × | × | × | × | × | ||||
grep | × | × | × | × | × | × | ||||
egrep | × | × | × | × | × | × | × | × | × | |
perl | × | × | × | × | × | × | × | × | × |