GREP EGREP的用法及正则表达式和扩展正则表达式简述

  1. egrep grep的使用方法

  2. 正则表达式及扩展表达式简述

  3. 使用事例

     

    grep egrep都是文本搜索工具,可以把符合模式的行或字符显示出来,而这些模式grep一般使用正则表达式进行匹配,而egrep使用扩展正则表达式来进行匹配的。

    grep及egrep的使用方法:

                                                grep [option] pattern file…..

                                                option:

                                                            -o:显示只显示匹配到的字符

                                                            -v:显示与匹配模式相反的行

                                                            -i:忽略匹配模式的大小写进行匹配

                                                            -E:使用egrep进行匹配

                                                 egrep [option] pattern file…..

                                                  option

                                                            -o:显示只显示匹配到的字符

                                                            -v:显示与匹配模式相反的行

                                                            -i:忽略匹配模式的大小写进行匹配

正则表达式:

                        字符匹配

                                        . : 表示匹配单个任意字符

                                        [[:alpha:]]:表示匹配单个字母

                                        [[:lower:]]:表示匹配单个小写字母

                                        [[:upper:]]:表示匹配单个大写字母

                                        [[:digit:]]:表示匹配单个数字

                                        [[:space:]]:表示匹配单个空白字符

                                        [[:alnum:]]:表示匹配单个字母或数字

                        次数匹配

                                        *:表示匹配前一个字符的任意次

                                        \?:表示匹配前个一个字符一次或零次

                                        \{m\}:表示匹配前一个字符m次

                                        \{m,n\}:表示匹配前一个字符至少m次,至多n次

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

                                        \{0,m\}:表示匹配前一个字符至多m次

                                        注(.* 表示 匹配任意长度的任意字符)

                        位置锚定

                                        ^:表示锁定行首

                                        $:表示锁定行尾

                                        \<:表示锁定字母的首部

                                        \>:表示锁定字母尾部

                                       (注:^$ 表示匹配空白行)

                        分组:\(字符\):表示里面的字符组合为一个分组;我们可以用 \1 \2 …\#进行该分组内容的引用

 

                        补: \| 表示 或者 例如 a \| b a或b匹配其中一个

                                \+ 表示匹配前个字符至少一次

扩展正则表达式

                              字符匹配

                                        . : 表示匹配单个任意字符

                                        [[:alpha:]]:表示匹配单个字母

                                        [[:lower:]]:表示匹配单个小写字母

                                        [[:upper:]]:表示匹配单个大写字母

                                        [[:digit:]]:表示匹配单个数字

                                        [[:space:]]:表示匹配单个空白字符

                                        [[:alnum:]]:表示匹配单个字母或数字

                        次数匹配

                                        *:表示匹配前一个字符的任意次

                                        ?:表示匹配前个一个字符一次或零次

                                        {m}:表示匹配前一个字符m次

                                        {m,n}:表示匹配前一个字符至少m次,至多n次

                                        {m,}:表示匹配前一个字符至少m次

                                        {0,m}:表示匹配前一个字符至多m次

                                         +:表示匹配前个字符至少一次

                            

                        位置锚定

                                        ^:表示锁定行首

                                        $:表示锁定行尾

                                        \<:表示锁定字母的首部

                                        \>:表示锁定字母尾部

                         分组

                                    (字符):表示里面的字符作为一个组合;用 \1 \2 …\#来引用

事例

        事例一:

                    显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户

GREP EGREP的用法及正则表达式和扩展正则表达式简述                                XU~R@8~_IU@TBRS~0TY_66L.png

        事例二:

                      显示/etc/rc.d/rc.sysinit文件中,以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行

                    V1]}RZ1QL3PBP_WNI]IG]_5.png           事例三:

                            写一个模式,能匹配合理的ipv4地址(1.0.0.1-239.255.255.255)

[1-9] | [1-9][0-9] | 1[0-9][0-9] | 2[1-3][0-9]\.[0-9] | [1-9][0-9] | 1[0-9][0-9] | 2[1-4][0-9] | 25[0-5]\.[0-9] | [1-9][0-9] | 1[0-9][0-9] | 2[1-4][0-9] | 25[0-5]\.[1-9] | [1-9][0-9] | 1[0-9][0-9] | 2[1-4][0-9] | 25[0-5]

                                                            

原创文章,作者:13-广州-杨过,如若转载,请注明出处:http://www.178linux.com/6593

(0)
13-广州-杨过13-广州-杨过
上一篇 2015-07-27 22:55
下一篇 2015-07-28 09:35

相关推荐

  • 【26期】Linux第四周学习小总结

        第四周了,转眼就学习有关Linux的知识一月了,从开始的懵懵懂懂,到现在的懵懵懂懂,不变的是无边无际的知识,改变的是一小片迷雾被我们渐渐拨开了一角,学习的枯燥和充实,陪我们走完这安稳的最后学习时光。     今天分享的是一些我们本周学习的变量方面的东西,那么,什么是变量呢?变量来源于数学,是计算机语言中能储存计…

    2017-08-05
  • Linux基础知识(三)

     本文的主要内容是:  1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。  2、取出最后登录到当前系统的用户的相关信息。  3、取出当前系统上被用户当作其默认shell的最多的那个shell。  4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全…

    Linux干货 2016-10-03
  • CentOS7下编译安装Apache

    在Linux中通过编译源代码进行安装软件,需要GCC(GNU Compiler Collection,GNU编译器套件)的支持。通过yum安装GCC [root@localhost ~]# yum install gcc C程序源码编译安装三个步骤: 第一步:./configure  (1)通过选项传递参数,…

    Linux干货 2016-09-05
  • 第一周作业

    # 1.计算机的基本组成和功能: – **存储器**:  实现记忆功能的部件用来存放计算程序及参与运算的各种数据 – **运算器**:  负责数据的算术运算和逻辑运算即数据的加工处理 – **控制器**:  负责对程序规定的控制信息进行分析,控制并协调输入,输出操作或内存访问 – **输入设备**: 实现计算程…

    Linux干货 2016-12-04
  • CentOS6.7上编译安装Apache2.2和Apache2.4

    centos6.7上如何编译安装Apache2.2和Apache2.4

    Linux干货 2016-05-29
  • vim文本编辑器

    Vim文本编辑器不能单独编写二进制文件,但是可以配合xxd命令编辑二进制文件 1、文本编辑种类: 行编辑器: sed 全屏编辑器:nano, vi、vim(其是改进的vi) 其他编辑器: Gedit,一个简单的图形编辑器 Gvim,一个Vim编辑器的图形版本 2、打开文件 用法#vim  [OPTION]… FILE… +#…

    Linux干货 2016-08-15

评论列表(1条)

  • yini
    yini 2015-07-28 19:52

    已mark。 :smile: