grep -Ev和grep -v区别





用man命令查询具体含义如下:

 -E, --extended-regexp
              Interpret PATTERN as an extended regular expression (see below).

 -e PATTERN, --regexp=PATTERN
              Use PATTERN as the pattern; useful to protect patterns beginning
              with -.

-V, --version
              Print  the  version number of grep to standard error.  This ver-
              sion number should be included in all bug reports (see below).
-v, --invert-match
              Invert the sense of matching, to select non-matching lines.

 =================================
 3. 用于egrep和 grep -E的元字符扩展集
+
匹配一个或多个先前的字符。如:'[a-z]+able',匹配一个或多个小写字母后跟able的串,如loveable,enable,disable等。

?
匹配零个或多个先前的字符。如:'gr?p'匹配gr后跟一个或没有字符,然后是p的行。

a|b|c
匹配a或b或c。如:grep|sed匹配grep或sed

 ()
分组符号,如:love(able|rs)ov+匹配loveable或lovers,匹配一个或多个ov。

x{m},x{m,},x{m,n}
作用同x\{m\},x\{m,\},x\{m,n\}
http://man.chinaunix.net/newsoft/grep/open.htm#id2810113

 =======================================

 grep -E 可以理解成 egrep
而egrep是grep的扩展,支持更多的re元字符
 而egrep和grep -v参的功能是一样的,只是前者支持更多的re元字符


======================================
 (RE)文本搜索
 正则表达式就是由一系列特殊字符组成的字符串, 其中每个特殊字符都被称为元字符, 这些元字符并不表示为它们字面上的含义, 而会被解释为一些特定的含义. 具个例子, 比如引用符号, 可能就是表示某人的演讲内容, 同上, 也可能表示为我们下面将要讲到的符号的元-含义. 正则表达式其实是由普通字符和元字符共同组成的集合, 这个集合用来匹配(或指定)模式.

一个正则表达式会包含下列一项或多项:


一个字符集. 这里所指的字符集只包含普通字符, 这些字符只表示它们的字面含义. 正则表达式的最简单形式就是只包含字符集, 而不包含元字符.

锚. 锚指定了正则表达式所要匹配的文本在文本行中所处的位置. 比如, ^, 和$就是锚.

修饰符. 它们扩大或缩小(修改)了正则表达式匹配文本的范围. 修饰符包含星号, 括号, 和反斜杠.

正则表达式最主要的目的就是用于(RE)文本搜索与字符串操作. (译者注: 以下正则表达式也会被简称为RE.) RE能够匹配单个字符或者一个字符集 -- 即, 一个字符串, 或者一个字符串的一部分.

http://www.bsdmap.com/manuals/abs-3.9.1_cn/html/x13673.html


引用地址:http://bbs.csdn.net/topics/190135696

你可能感兴趣的:(Linux)