1、grep使用简明
使用基本正则表达式定义的模式来过滤文本,并将符合模式的文本行显示出来
grep [options] PATTERN [FILE...]
-i :忽略大小写
--color :符合模式的文本行显示颜色
-v : 显示没有被模式匹配到的行
-o :只显示被模式匹配到的字符串
-E : 使用扩展正则表达式(= egrep)
2、基本正则表达式(PATTERN中的元字符匹配)
(1)字符匹配
. : 匹配任意单个字符
[] : 匹配指定范围内的任意单个字符
[^] :匹配指定范围外的任意单个字符
[[:digit:]] :匹配数字 [0-9]
[[:lower:]] :匹配小写字母 [a-z]
[[:upper:]] :匹配大写字母 [A-Z]
[[:punct:]] :匹配特殊字符
[[:space:]] :匹配空格
[[:alpha:]] :匹配字母 [a-zA-Z]
[[:alnum:]] :匹配字母和数字 [0-9a-zA-Z]
(2)次数匹配
* : 匹配其前面的字符任意次(0次-任意次)
.* : 任意长度的任意字符
\? : 匹配其前面的字符1次或0次
\{m,n\} : 匹配其前面的字符至少m次,至多n次
例如 \{1,\} :匹配其前面的字符至少1次
\{0,3\} :匹配其前面的字符0到3次
(3)位置锚定
^ : 锚定行首
$ : 锚定行尾
^$ : 表示空白行
\<或\b :锚定词首
\>或\b :锚定词尾
(4)分组及后向引用
\(\) :分组,将之后需要引用的内容分组囊括起来
\n : 后向引用,即引用前面第n个括号内包含的所有内容
3、扩展正则表达式(PATTERN中的元字符匹配扩展)
(1)次数匹配
? : 匹配其前面的字符1次或0次
+ : 匹配其前面的字符至少1次
{m,n} : 匹配其前面的字符至少m次,至多n次
(2)分组及后向引用
() :分组,将之后需要引用的内容分组囊括起来
\n : 后向引用,即引用前面第n个括号内包含的所有内容
(3)或者
| :匹配左边的字符串或者右边的字符串
例如 B|boy : B或boy