正则表达式常会含有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 [[email protected] ~]# grep ‘^s‘ /etc/passwd |wc -l 5 #
3.grep常用的选项
选项 | 功能 |
-i |
使用所提供的正则表达式:但是不会区分大小写 |
-v | 仅显示不包含正则表达式匹配的行 |
-r | 递归地匹配正则表达式的数据搜索应用到一组文件或目录中 |
-A <number> | 显示正则表达式匹配项之后的行数 |
-B <number> | 显示正则表达式匹配项之前的行数 |
-e | 如果使用多个-e选项,则可以提供多个正则表达式,并将与逻辑or一起使用 |
时间: 2024-11-06 10:29:48