文本查找的需要:grep egrep fgrep(fastgrep)
grep:全面搜索 global research 根据某个模式,去搜索文本,并将符合模式的文本行显示出来
pattern:文本字符和正则表达
grep [OPTIONS] PATTERN [FILE...]
-i:忽略大小写
--color:以颜色来识别
-v:显示没有被模式匹配到的行
-o:只显示被模式匹配到的字符串
-E:使用扩展正则表达式(egrep=grep -E)
-A跟数字:显示被匹配到以及向下两行
-B跟数字:显示被匹配到以及向上两行
-C跟数字:显示被匹配到以及向上下两行
grep ‘root’ /etc/passwd
没有正则表达式,不用“”也行
单引号表示强引用,双引号表示弱引用,只要不涉及变量引用,单双引号都可以
正则表达式:REGular EXPression简写REGEXP
元字符:
.:匹配任意单个字符
匹配次数(贪婪模式)
*:匹配其前面的字符任意次
a,b,ab,aab,acb,adb,amnb
a*b
a.*b
.*:任意长度的任意字符
\?:匹配其前面的字符1次或0次(可有可无的)
\{m,n\}:匹配其前面的字符至少m次,至多n次
\{1,\}
\{0,3\}
位置锚定:
^:锚定行首,此字符后面的任意内容必须出现在行首
$:锚定行尾,此字符前面的任意内容必须出现在行尾
^$:空白行
\<或\b:锚定词首,其后面的任意字符必须作为单词首部出现
\>或\b:锚定词尾,其前面的任意字符必须作为单词的尾部出现
基本正则表达式 basic REGEXP
扩展正则表达式
分组
\(\)
\(ab\)*反向引用 \1:引用第一个左括号以及与之对应的右括号所包括的所有内容
[]:匹配指定范围内的任意单个字符
[^]:匹配指定不在范围内的任意单个字符
次数匹配:
*:匹配其前面的字符任意次
?:任意单个字符
+:匹配其前面的字符至少1次
|:or或 C|cat
本文转自 周小玉 51CTO博客,原文链接:http://blog.51cto.com/maguangjie/1853155,如需转载请自行联系原作者