Linux系统中的shell脚本编写之文本处理三剑客中的grep

文本处理工具——grep 

 1.作用
    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
    grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符,fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。
    2.格式及主要参数
    grep  匹配条件 处理文件
    主要参数:  grep --help可查看

           grep root passwd     过滤root关键字

           grep ^root passwd     过滤以root开头的关键字

Linux系统中的shell脚本编写之文本处理三剑客中的grep

           gerp root$ passwd     过滤以root结尾的关键字

           grep -i  root passwd    忽略文件中的大小写

Linux系统中的shell脚本编写之文本处理三剑客中的grep

           grep -E "\<root" passwd     过滤root字符之前不能有字符的文件

           grep  -E  "root\>" passwd    过滤root字符之后不能有字符的文件

Linux系统中的shell脚本编写之文本处理三剑客中的grep

           gerp -数字        显示过滤行以及上面和下面几行内容

Linux系统中的shell脚本编写之文本处理三剑客中的grep

           grep -n              显示匹配行所在行的行号

            grep -A             显示过滤行及下面几行

            grep -B               显示过滤行及上面几行

Linux系统中的shell脚本编写之文本处理三剑客中的grep

            grep   -v         反向过滤

3.grep字符数量匹配规则

            匹配字符                                      含义
^westos 以westos开头的
westos$ 以westos结尾的
w....s 以w开头s结尾的中间有4个字符的内容
.....s 以s结尾的前面5个字符任意
* 字符出现0到任意一次
? 字符出现0到1次
+ 字符出现1到任意一次
{n} n次
{m,n} m到n次
{0,n} 0到n次
{,n} 0到n次
{m,} 最少m次
(lee){2} Lee字符串出现2次
   

操作如下:

Linux系统中的shell脚本编写之文本处理三剑客中的grep

Linux系统中的shell脚本编写之文本处理三剑客中的grep
     练习:在系统中列出所有能够使用的用户名称   系统中能够使用的用户的家目录最后一般都是以bash,sh,csh,tcsh,tmux 结尾

Linux系统中的shell脚本编写之文本处理三剑客中的grep