在linux下,grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep的参数设置
grep的常见用法:
grep使用正则表达式的写法:
基本正则表达式:Basic REGEXP
元字符 |
描述 |
. |
匹配任意单个字符 |
* |
匹配其前面的字符任意次 |
.* |
任意长度的任意字符 |
[] |
匹配指定范围内的任意单个字符 |
[^] |
匹配指定范围外的任意单个字符 |
[:lower:] |
小写字母 |
[:upper:] |
大写字母 |
[:alpha:] |
所有字母 |
[:digit:] |
数字 |
[:alnum:] |
所有数字和字母 |
[:punct:] |
标点符号 |
[:space:] |
空白字符 |
\? |
匹配其前面的字符1次或0次 |
\{m,n\} |
匹配其前面的字符至少m次,至多n次 |
^ |
铆定行首,此字符后面的任意内容必须出现在行首 |
$ |
铆定行尾,此字符前面的任意内容必须出现在行尾 |
^$ |
表示空白行 |
\<或\b |
铆定词首,其后面的任意字符必须作为单词的首部出现 |
\>或\b |
铆定词尾,其前面的任意字符必须作为单词的尾部出现 |
\(\) |
分组 |
\(ab\)* |
ab作为一个整体,可以出现任意次 |
\(ab\).*\1 |
引用第一个左括号以及与之对应的右括号所包括的所有内容 |
\(ab\).*\2 |
引用第二个左括号以及与之对应的右括号所包括的所有内容 |
字符匹配 | |
. |
匹配任意单个字符 |
[] |
匹配指定范围内的任意单个字符 |
[^] |
匹配指定范围外的任意单个字符 |
次数匹配 | |
* |
匹配其前字符任意次 |
? |
匹配其前字符0次或1次 |
|
匹配其前字符至少1次,类似于基本正则表达式\{1,\} |
{m,n} |
匹配其前面的字符至少m次,至多n次 |
位置铆定 | |
^ |
行首 |
$ |
行尾 |
\<或\b |
词首 |
\>或\b |
词尾 |
分组 | |
().*\1\2\3 | |
或者 | |
| |
or a|b ,a或者b ,有一个就行 |
C|Cat--> C或cat (C|c)at-->Cat或cat |
grep一些其他命令,需要经常的使用,慢慢的摸索,那样你才会更加熟练的使用grep命令,让你的熟练程度更加一步的。
,