找回密码
 立即注册
Qt开源社区 门户 查看内容

Linux shell 操作命令 grep

2019-9-5 10:37| 发布者: admin| 查看: 477| 评论: 0

摘要: Linux shell 操作命令 grep Linux shell 命令行 让你真正开始 Linux之旅,本文描述Linux 操作命令 grep1、简介 grep 是个很强大的命令,用来找到文件中的匹配文本,并且能够接受正则表达式和通配符,同时可以用多 ...


Linux shell 操作命令 grep

    Linux shell 命令行 让你真正开始 Linux之旅,本文描述 Linux 操作命令 grep

1、简介

    grep 是个很强大的命令,用来找到文件中的匹配文本,并且能够接受正则表达式和通配符,同时可以用多个 grep 命令选项来生成各种格式的输出

1.1 搜索/过滤

    grep 的工作方式是这样的,它在一个或多个文件中搜索字符串模板;如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名;搜索的结果被送到标准输出,不影响原文件内容

1.2 返回值

    grep 可用于 shell 脚本,因为 grep 通过返回一个状态值来说明搜索的状态

  • 模板搜索成功,则返回 0

  • 搜索不成功,则返回 1

  • 搜索的文件不存在,则返回 2


2、用法/命令格式
    grep[OPTIONS]PATTERN[FILE...]grep[OPTIONS][-e PATTERN]... [-f FILE]... [FILE...]

    3、常用选项

    选项

    描述

    -c

    计算找到 '搜寻字符串'(即 pattern) 的次数

    -i

    忽略大小写的不同,所以大小写视为相同

    -n

    输出行号

    -v

    反向选择,打印不匹配的行

    -r

    递归搜索

    --color=auto

    将找到的关键词部分加上颜色显示


    4、范例

    4.1 过滤 单一文件
      # grep "root" /etc/passwd --color=auto# cat /etc/passwd | grep "root" --color=auto

      4.2 过滤 文件夹
        # grep -R "root" /etc/* --color=auto

        5、扩展 --  正则表达式与 grep 命令

            正则表达式是一种符号表示法,被用来识别文本模式;正则表达式元字符由以下字符组成:^ $ . [ ] { } - ? * + ( ) | \

        正表达式

        描述

        ^

        行 起始 符

        $

        行尾 符

        .

        匹配 任意 一个 字符

        []

        匹配 [字符] 之中 任意 一个 字符

        [字符1-字符2]

        匹配 字符1 - 字符2 之间 任意 一个 字符;例如 A - G

        {n}

        匹配 之前的项 n 次

        {n,}

        匹配 之前的项 至少 n次

        {min,max}

        匹配最小/大 值(极值)

        ?

        匹配 0 或 1 个 次

        *

        匹配 任意 次

        +

        匹配 一次 或 多次

        |

        匹配 两边的任意 一项


        5.1 匹配 空格(任意)
          # grep "^[ \s]\{1,\}" {file_name}

          5.2 模糊匹配
            ## 利用 Linux 系统自带的字典查找一个五个字母的单词,第三个字母为 j,最后一个字母为 r# grep '^..j.r$' linux.words

            5.3 电话 号码 匹配
              ## 固定电话格式基本都是带有 0 的区号+连接符“-”+电话号码,另外还有可能有分机号,区号有 3 位、4 位,电话号码有 7 位和 8 位的## 区号:前面一个 0,后面跟 2-3 位数字 :0[0-9]{2,3}## 电话号码:7-8 位数字:[0-9]{7,8}## 分机号:一般都是 3-4 位数字:[0-9]{3,4} ## -E 选项,grep 会识别 正则表达式的元字符# grep -E "^0[0-9]{2,3}-[0-9]{7,8}(-[0-9]{3,4})?$" telphone.txt

              作者

              有话说

                  从本文开始 您将正式开始Linux shell 命令(本文是来自本人博客的摘要,有兴趣的可以阅读博客 -- 博客地址在个人简介文章中有说明)!感谢您的阅读,希望有所收获! 



              微信公众号 欢迎 扫码 关注







              ----------------------------------------------------------------------------------------------------------------------
              我们尊重原创,也注重分享,文章来源于微信公众号:石头逍遥,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
              ----------------------------------------------------------------------------------------------------------------------

              鲜花

              握手

              雷人

              路过

              鸡蛋
              
              公告
              可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了