grep使用

linux三剑客

  • awk使用
  • grep使用
  • sed使用
  • grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)

    是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

    egrep、fgrep是grep的别名

    pgrep与grep有区别

    使用方法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    grep[
    -a 不忽略二进制数据
    -c 计算符合的列数
    -i 忽略大小写的不同
    -n 输出行号
    -v 反向匹配(显示不匹配的行)
    -b 显示符合行的第一个字符位置(编号)
    --color=auto 关键词着色
    -s 不显示错误
    -o 只输出匹配到的部分
    --exclude<file> 排除特定文件
    --include<file> 包含特点文件
    --exclude-from<filelist> 排除filelist列表里的文件
    ][
    -A<行数> 显示符合行并该行之后的内容
    -B<行数> 显示符合行并该行之前的内容
    -C<行数> 显示符合行并该行之前后的内容
    ] 匹配字符串 文件或目录

    -E 支持正则 使用egrep命令

    -F 使用fgrep命令

    正则

    1. 利用中括号[]来查找集合字符

      1
      m[ae]n // a 或者 e
    2. 反向选择^的使用

      1
      [^/]man
    3. 字符

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      [:alnum:] - 字母数字字符
      [:alpha:] - 字母字符
      [:blank:] - 空字符: 空格键符 和 制表符
      [:digit:] - 数字: '0 1 2 3 4 5 6 7 8 9'
      [0-9] - 数字: '0 1 2 3 4 5 6 7 8 9'
      [:lower:] - 小写字母: 'a b c d e f g h i j k l m n o p q r s t u v w x y z'
      [a-z] - 小写字母: 'a b c d e f g h i j k l m n o p q r s t u v w x y z'
      [:space:] - 空格字符: 制表符、换行符、垂直制表符、换页符、回车符和空格键符
      [:upper:] - 大写字母: 'A B C D E F G H I J K L M N O P Q R S T U V W X Y Z'
      [A-Z] - 大写字母: 'A B C D E F G H I J K L M N O P Q R S T U V W X Y Z'
    4. 通配符

      1
      2
      "." 来匹配单个字符
      \. 转译
    5. 次数

      1
      2
      3
      {N}
      {N,}
      {min,max}
    限定符 描述
    . 匹配任意的一个字符。
    ? 匹配前面的子表达式,最多一次。
    * 匹配前面的子表达式零次或多次。
    + 匹配前面的子表达式一次或多次。
    {N} 匹配前面的子表达式 N 次。
    {N,} 匹配前面的子表达式 N 次到多次。
    {N,M} 匹配前面的子表达式 N 到 M 次,至少 N 次至多 M 次。
    - 只要不是在序列开始、结尾或者序列的结束点上,表示序列范围。
    ^ 匹配一行开始的空字符串;也表示字符不在要匹配的列表中。
    $ 匹配一行末尾的空字符串。
    \b 匹配一个单词前后的空字符串。
    \B 匹配一个单词中间的空字符串。
    \< 匹配单词前面的空字符串。
    \> 匹配单词后面的空字符串。
     上一篇