首页 > 代码库 > linux系统之shell编程-正則表達式

linux系统之shell编程-正則表達式

     

         shell编程正則表達式:

                       1:元字符   [ ]  .   *  ?

+ ( )  |  {  }  ^  $

                                      2 : [a-z0-9]  表示匹配随意数字和字母的一个

                                      3 :  [^a-z]     匹配除了字母的随意一个

                                      4 :  ab+c      +表示匹配一个或多个+号前面的字符

                                      5 :   ab*c       *表示匹配没有或多个*号前面的字符

                                      6 :   ab?c      ?表示匹配一个?号前面的字符

                                      7 :   (ab){2}c   表示匹配两个ab字符的字符。

                                      8 :   (ab)*c (ab)+c (ab)?c   同4,5,6的规则同样,仅仅是匹配全部括号中面的字符。

                                      9:^ab       表示匹配以ab开头的字符。 而[^ab]表示匹配除了字符ab的

                                      10:  \<title\>  仅仅匹配title这个单词,以空格或换行作为分隔符

                                 


                   linux中的 fgrep  grep egrep 命令    grep (global research regular expression and printing)

                            fgrep  命令不使用正則表達式。将全部字符当作普通字符匹配在查找的时候

                                  grep  命令仅仅支持普通的正則表達式,对扩展的正则不支持

                                  egrep 命令支持全部的扩展正則表達式。

                           



               grep 的几种常见使用方法:

                                         1:  grep -v    匹配不包括在正則表達式内的字符  grep -v  ‘^ab‘  /etc/passwd  不以ab开头的字符

                                                  2:  grep --color  将匹配的字符用颜色标记出来

                                                  3:  grep -o   仅仅显示匹配的字符,在过滤之后。

                                                  4:  grep -A2  ‘abc‘  /etc/passwd   显示匹配字符以及匹配字符行的上面两行

                                                  5:  grep   -B2  ‘abc‘ /etc/passwd    显示  匹配字符以及匹配字符行的以下两行

                                                  6:  grep  -C3   ‘abc‘ /etc/passwd    显示  匹配字符以及匹配字符行的以下和上面两行

                                                  7:  grep  -f /etc/shadow /etc/passwd  表示依据/etc/shadow文件里的内容匹配/etc/passwd中包括

                                                                      /etc/shadow中的字符

                                                  8:  grep -E  表示支持扩展正則表達式。等同于 egrep

                                                  9: 











linux系统之shell编程-正則表達式