grep(Globel Search Regular Expression and Printing out the line)
它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep包括grep、egrep和fgrep。
egrep表示扩展的grep,相比grep支持更多的匹配模式,
“grep -E”相当于egrep。
fgrep是fast grep,不支持正则表达式,但是搜索速度更快。
grep重要特性:搜索的结果被送到屏幕,不会影响到原文件内容。
1、grep的用法
grep不加引号直接过滤字符串;
grep在进行模式匹配的时候必须加引号,单引和双引号都可以;
grep在引用变量的时候必须加双引号
2、grep的选项[option]
Blockquote
-r:递归的搜索
-v:反向选取,只显示不符合模式的行
-o:只显示被模式匹配到的字符串,而不是整个行
-i:匹配时不区分大小写
-A #:显示匹配到的行时,顺便显示后面的#行(#表示数值)
-B #:前面的#行
-C #:前后的#行
-E:使用扩展的正则表达式[egrep]Blockquote
基本正则表达式:
.: 任意单个字符
[]: 范围内的
*: 任意次
\?: 0或1次
{m,n}:至少m次,至多n次;
.*: 任意单个字符任意次
^:行首锚定
$:行尾锚定
\<, \b:词首锚定
>, \b:词尾锚定
()分组
\1, \2, \3, …分组引用
扩展正则表达式
?:0次或1次
+: 匹配其前面的字符至少1次
{m,n}:至少m次,至多n次
():分组
\1, \2, \3, …分组引用
或者
|: or
显示/proc/meminfo文件中以不区分大小的s开头的行;
显示/etc/passwd中以nologin结尾的行;
显示/etc/passwd中,r后跟了o,o出现0次或者1次的行;
显示/etc/passwd中,r后跟了o,o出现至少1次至多2次的行;
显示/etc/passwd中,r后跟了o,o只出现2次的行;
显示/etc/passwd中,匹配root这个单词的行;
原创文章,作者:sean0910,如若转载,请注明出处:http://www.178linux.com/72639