正则表达式常会含有shell元字符(如S、*等),建议使用单引号('')来括起行令上的正则表达式

1.行定位符号

行首定位符号^和行尾定位符$

#找出以s开头的行:

# grep '^s' /etc/passwd


#找出以h结尾的行:

# grep 'h$' /etc/passwd


2.单词定位符(定位单词)

#找出包含以s开头的单词的行

# grep '\<s' /etc/passwd

#找出包含以h结尾的单词的行

# grep 'h\>' /etc/passwd

同一个文件,以单词定位找出的行的数量比以行首或行尾定位找出的行的数量多:

# grep '\<s' /etc/passwd |wc -l
37
[root@rhce7 ~]# grep '^s' /etc/passwd |wc -l
5
# 

3.grep常用的选项

选项 功能

-i

使用所提供的正则表达式:但是不会区分大小写
-v 仅显示不包含正则表达式匹配的行
-r 递归地匹配正则表达式的数据搜索应用到一组文件或目录中
-A <number> 显示正则表达式匹配项之后的行数
-B <number> 显示正则表达式匹配项之前的行数
-e 如果使用多个-e选项,则可以提供多个正则表达式,并将与逻辑or一起使用