首页 > Linux操作系统 > Linux操作系统 > grep,egrep用法
分类:
基本正则表达式
扩展正则表达式
基本正则表达式:
字符匹配:
.: 匹配任意单个字符
[]:匹配指定集合中的任意单个字符
[[:digit:]], [0-9]
[[:lower:]], [a-z]
[[:upper:]], [A-Z]
[[:alpha:]], [a-zA-Z]
[[:alnum:]], [0-9a-zA-Z]
[[:space:]]
[[:punct:]]
[^]:匹配指定集合外的任意单个字符
匹配次数:用于对其前面紧邻的字符所能够出现的次数作出限定
test为文本文件
xy
xxy
xxxxy
xxxxxxxxy
y
aby
abbbbbby
abababyab
by
bby
*:匹配其前面的字符人一次,0,1或多次
grep --color x*y test x出现的次数为>=0次 y ay xxxy
grep --color ax*y test a+ nx + y n>=0 ay axy axxxxy
\?:匹配其前面的字符0次或1次
grep --color 'x\?y' file y xy xxy aby
\+:匹配其前面的字符至少出现1次
grep --color 'ab\+y' test a+nb+y n大于等于1 aby abbbbbby abababyab
\{m\}:匹配其前面的字符m次
grep --color 'x\{2\}y' test nx+y n大于等于2 xxy xxxxy
\{m,n\}:匹配其前面的字符至少m次之多n次
grep --color 'x\{2,4\}y' test nx+y n大于等于2 n小于等于4 xxy xxxxy xxxxxxxxy
位置锚定:
^:行首锚定 写在模式的最左侧
$:行尾锚定 写在模式的最有侧
^$:空白行
\<: 词首锚定, 出现在要查找的单词模式的左侧;\
\>:词尾锚定, 出现在要查找的单词模式的右侧;char\>
grep --color 'by\>' test aby abbbbbby by bby
\
分组:\(\)
后向引用:模式中,如果使用\(\)实现了分组,在某行文件的检查中,如果\(\)的模式匹配到了某内容,此内容后面的模式中可以被引用;
grep --color '\(ab\)\{1,\}y' test aby abababyab
grep --color 'ab\{1,\}y' test aby abbbbbby abababyab
grep --color '\(ab\)\{1,\}y\1' test abababyab
egrep及扩展的正则表达式
扩展正则表达式的元字符:
字符匹配:
.
[]
[^]
匹配次数限定:
*
?: 匹配其前面字符0次或1次;
+:匹配其前面的字符至少1次;
{m}:匹配其前面的字符m次;
{m,n}:{m,}, {0,n}
锚定:
^
$
\<, \>: \b
分组:
()
支持后向引用:\1, \2, ...
或者:
a|b: a或者b
ab|cd:
# grep -E 'pattern' file...
# egrep 'pattern' file...
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28282660/viewspace-1764593/ ,如需转载,请注明出处,否则将追究法律责任。