grep命令系列:grep中的正则表达式

 grep :是一款文本过滤工具 。其作用:根据用户指定的“模式”对目标文本进行逐个的匹配检查。

 正则表达式 REGEXP:有一类特殊字符及文本字符所编写的模式,其中有些字符不表示字面的意义,而表示控制或通配的功能。

   正则表达式分为两种:

        基本正则表达式:BRE

        扩展正则表达式:ERE

 grep 工具支持正则表达式,egrep 支持扩展正则表达式,并且grep为-E的选项其实就是正则表达式。

 而这里我简单的介绍一下基本正则表达式的语法:

       字符匹配:

                       . : 匹配单个任意字符

                      [] :   表示匹配中括号里面的任意单个字符

                    [^] :   表示匹配中括号指定以外的任意单个字符

     还有一下中括号几种用法:

          [[:alnum: ]]:  表示所有的数字和字母

          [[:alpha:]]  :  表示所有的字母 (不分大小写)

          [[:lower:]]  :  表示所有的小写字母

          [[:digit: ]]  :   表示所有的数字

         [[:space:]] : 表示空格字符

         [[:upper:]] :   表示所有的大写字母

    次数匹配:

                     * :  表示前面字符任意次数

                    \+ :    表示匹配前面字符至少1次

                    \?  :    表示匹配前面字符0到1次

             \{n,m\} :    表示匹配前面字符n 到m 次

             \{n\}    :      表示匹配前面字符m 次

            \ {n,\}   :      表示匹配前面字符至多n次

           \ {0,m\} :      表示匹配前面字符至少m次

     锚定字符:

                   ^ :    表示行首锚定

                   $:   表示行尾锚定

              ^.*$  :    表示行首 行尾锚定 一整行

     ^[:space:]$ :    表示空行 ,包括空格的行

        \< 或\b   :     表示 词首锚定 

        \ > 或\b  :      表示 词尾锚定

  以上为不分正则表达式的简单的语法。

原创文章,作者:huchaowei,如若转载,请注明出处:http://www.178linux.com/72979

(0)
huchaoweihuchaowei
上一篇 2017-04-10 16:01
下一篇 2017-04-10 19:36

相关推荐

  • 数据结构-线性表

    1. 线性表:n个数据元素的有序集合。 线性表是一种常用的数据结构。在实际应用中,线性表都是以栈、队列、字符串、数组等特殊线性表的形式来使用的。由于这些特殊线性表都具有各自的特性,因此,掌握这些特殊线性表的特性,对于数据运算的可靠性和提高操作效率都是至关重要的。  线性表是一个线性结构,它是一个含有n≥0个结点的有限序列,对于其中的结点,有且仅有一个开始结点…

    Linux干货 2015-04-07
  • 文本处理工具应用练习

    练习:  1 、找出ifconfig 命令结果中本机的IPv4 地址 思路:我们使用ifconfig命令可知,ip地址是在第二行,所以我们先筛选出第二行,       第二行中的分隔符看起来很混乱,都是不规则的,有一个空格或多个空格的,没有标准       所以我们最好是建立一个标准分隔,…

    Linux干货 2016-08-08
  • shell脚本总结

    shell进阶:列表生成方式:列表生成方式:(1) 直接给出列表 以空白为间隔(2) 整数列表:(a) {start..end}(b) $(seq [start [step]] end)(3) 返回列表的命令$(COMMAND)(4) 使用glob,如:.sh(5) 变量引用;$@, $while read line(用法)(用于遍历文件,进行处理…

    Linux干货 2017-07-10
  • DNS 正反向解析 主从配置

    我的环境是     192.168.1.130    主DNS      192.168.1.112    从DNS DNS 的安装包有bind bind-libs bind-utils 安…

    Linux干货 2016-01-05
  • lamp部署及编译安装

    lamp 资源类型: 静态资源:原始形式与响应给客户端的结果一致; 动态资源:原始形式通常为程序文件(为某种编程语言开发),需要运行后将生成的结果展示给客户端;如果请求的资源不存在那么结果就会重定向至指定的文件中 客户端技术:javascript 服务端技术:php, jsp, … CGI:Common Gateway Interfa…

    Linux干货 2016-10-19
  • Linux 下的帮助及文件管理

    1、whatis     whatis command 或 man -f command     仅能提供命令基本的介绍。不提具体用法。     基于数据库的查找,优点:检索速度快;缺点:缺乏实时性    &n…

    2017-07-15