码迷,mamicode.com
首页 > 其他好文 > 详细

grep使用详解

时间:2015-04-06 19:00:21      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:grep



grep:

     Globa search REgular expression and Print out the line.

文本搜索工具。根据用户指定的文本模式(正则表达元字符及正常字符组成正常组合而成)对目标文件进行逐行搜索,显示能匹配到的行;

                                                        grep [OPTIONS] PATTERN [FILE...]

                                                               --color[=WHEN], --colour[=WHEN] 

                                                           auto  always never


           alias   grep=‘grep --color=auto‘

grep --color=auto "root"  /etc/passwd

       

        -v: 显示不能够被模式匹配到的行

       -o :只显示能被模式匹配到的行

       -A: 显示条件匹配的一行和后N行  -A N  GREP -A 1

       -B:前面N行

       -C:前后各N行

        -i: 不区分字符大小写

        -E:扩展的正则表达式 

正则表达式;REGular EXPression REGEXP

         由元字符及正常字符所书写的模式,其中的元字符不表示字符本身的意义,而是用于表达控制或通配等功能;

  基本正则表达式: grep

  扩展正则表达式:grep -E ,egrep

                fgrep:fast,不支持使用正则表达式

基本正则表达式元字符:

 字符匹配:

                  .

匹配任意单个字符 

              []

匹配指定范围内的任意单个字符

       [^]

匹配指定范围外的任意单个字符


[0-9],[[:digit:]],[^0-9][^[:digit:]] [a-z][[:lower:]]

[A-Z][[:upper:]] [[:space:]] [[:punct:]] [0-9a-zA-Z] [[:alpha:]]

转义

[[:alnum:]\.] 所有字符.


     次数匹配,希望匹配字符后面提供一个控制符,用于表达匹配其前面字符指定的次数

*:任意长度,表示0次、1次或多次:

   "ab*c"

        abbc,ac abb,

.*:贪婪模式,匹配任意长度的任意字符。

\?:匹配其前的字符0次或1次;表示其左侧字符可以有可无。

  “ab\?c”   \?

               ac,abc

\+: 1次或者多次, 表示其左侧字符至少出现一次

       “ab\+c”

                 abc,abbbc


\{m\} 精确匹配M次左侧字符精确出现次数  ab\{2\}c  abbc

\{m,n\}至少M次,至多N次  ab\{0,3\}c   ,ac-  abbbc 

  \{0,n\}至多N次

\{m,\}至少M次:


位置锚定:

^:行首

$:锚定行尾

^PATTERN$:用模式来匹配整行;grep‘^$‘   |wc -l 空白行

grep  ‘^[[:space:]]*$‘ 

^$匹配空白行:

单词锚定:由非特殊字符组成的连续的字符串

\<, \b:锚定词首

              \< PATTERN  , \b

\>:锚定词尾,也可以用\b

                   PATTERN>\

  \<PATTERN>\ 匹配PATTERN能匹配到的整个单词


                            # ifconfig | grep ‘\<[0-9]\{2\}\>‘   匹配2位数字


分组:       grep   ‘\(ab\)*c‘

   注意:分组中的模式,在某次的具体匹配过程中所匹配的字符,可以被grep记忆

(保存于内置的变量中,这些变量是\1 \2,)因此,还可以被引用;

   \1:引用,模式中自左而右,由第一个左括号以及与之对应的右括号中的模式所匹配到的内容;

  

grep使用详解

标签:grep

原文地址:http://nickxu.blog.51cto.com/1207271/1629156

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!