grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。
- grep正则表达式元字符集(基本集):
^
锚定行的开始
如:’^test_str’匹配所有以test_str开头的行。
**∗∗ 锚定行的结束 如:′teststr** 锚定行的结束 如:'test_str∗∗ 锚定行的结束 如:′teststr'匹配所有以test_str结尾的行。
.
匹配一个非换行符的字符
如:'test_.tr’匹配test_后接一个任意字符,然后是tr。
*****
匹配零个或多个先前字符
如:’ test_str’ (注意前有空格)匹配所有一个或多个空格后紧跟test_str的行。
.*一起用代表任意字符。
[]
匹配一个指定范围内的字符,
如’[Tt]est_str’匹配Test_str和test_str。
[^]
匹配一个不在指定范围内的字符,
如:’[^A-FH-Z]rep’匹配不包含A-F和H-Z的一个字母开头,紧跟rep的行。
(…)
标记匹配字符,
如’(love)’,love被标记为1。
<
锚定单词的开始,如:’<test_str’匹配包含以test_str开头的单词的行。
>
锚定单词的结束,如’test_str>'匹配包含以test_str结尾的单词的行。
x{m}
重复字符x,m次,如:'o{5}'匹配包含5个o的行。
x{m,}
重复字符x,至少m次,如:'o{5,}'匹配至少有5个o的行。
x{m,n}
重复字符x,至少m次,不多于n次,如:'o{5,10}'匹配5–10个o的行。
\w
匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p’匹配以G后跟零个或多个文字或数字字符,然后是p。
\W
\w的反置形式,匹配一个或多个非单词字符,如点号句号等。
\b
单词锁定符,如: '\bgrep\b’只匹配grep。