grep 根据模式搜索文本,显示匹配行

    -i 忽略大小写

    --color=auto 匹配上的以颜色显示

    -v 反向查找,显示没有被匹配上的行

    -o 只显示被模式匹配到的字符串本身

正则表达式

    元字符    

        . 任意单个字符

        grep及正则表达式_正则表达式

        [] 指定范围内的任意单个字符

        grep及正则表达式_Linux_02

        [^] 指定范围外的任意单个字符

  

        在bash,*代表任意长度任意字符,?代表任意单个字符;在正则里, .*代表任意长度任意字符,.代表任意单个字符

    次数匹配

        \? 匹配前面字符次数1次或0次

        grep及正则表达式_Linux_03

        * 匹配它前面的字符任意次

        grep及正则表达式_Linux_04

        \{m,n\} 匹配前面字符至少m次,至多n次;\{1,\}至少1次;\{,3\}最多3次

    位置锚定

        ^ 锚定行首,此字符后面匹配的任意字符必须在行首

        grep及正则表达式_grep_05

        $ 锚定行尾,此字符前面匹配的任意字符必须在行尾

        grep及正则表达式_grep_06

        ^$ 空白行

            统计空行

             grep --color=auto "^$" test5 |wc -l

        \<或\b 其后面的任意字符必须作为单词的首部出现

        \>或\b 其前面的任意字符必须作为单词的尾部出现

        \<root\> 或 \broot\b 单词root 

        grep及正则表达式_Linux_07


扩展正则表达式

egrep或grep -E

    元字符

        .

        []

        [^]

    次数匹配

        * 匹配其前面任意次

        ? 匹配其前面的字符一次或零次

        + 匹配其前面的字符至少一次

        {m,n}

    位置锚定

        ^

        $

        \<或\b

        \>或\b

    | 或者

        支持过滤多个字段

        grep及正则表达式_Linux_08