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

相关推荐

  • 组建RAID5重启系统,出现md127的解决办法

        我这里在组建RAID5之后重启了系统,当时/dev/md0变成了/dev/md127。出现这问题主要是我没有配置生成/etc/mdadm.conf文件,如果哪位伙伴出现类似我这种情况,而不是通过我这种方法解决的,希望能分享一下你的解决方法,谢谢。  先停止md127 [root@client3&nbs…

    Linux干货 2016-01-05
  • ☞yum源的生成与配置{ local;cdrom;http;ftp;}

    ☞yum源的生成与配置{ local;cdrom;http;ftp;} 本文是继上一篇文章“CentOS程序安装的3种方式{ 源码包安装 | rpm包安装 | yum安装;}”的补充,上篇文章http://www.178linux.com/38812主要介绍了基于cdrom的yum源制作和配置以及归纳了详细的yum命令。本文继续介绍基于本地file、远程ht…

    Linux干货 2016-08-24
  • 马哥教育网络班21期+第五周课程练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; ~]# egrep ^[[:space:]] /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; ~]# egrep …

    Linux干货 2016-08-08
  • Linux系统常用命令介绍

    [root@alibaba ~]# ifconfig #查看或者配置网络适配器的接口信息 eth0      Link encap:Ethernet  HWaddr 00:16:3E:0A:7B:2A inet addr:172.18.10.115  Bcast:172.18.15.255  Mask:255.255.240.0 [root@alibaba …

    Linux干货 2018-03-04
  • CentOS6.7上编译安装MariaDB

    CentOS6.7上编译安装MariaDB

    系统运维 2016-06-03
  • 第二周博客作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示? cat(concatenate)#从头开始看     文本文件查看工具 SYNOPSIS:     cat [OPTION]… [FILE]… -A 输出行最后加上$号 -n 输出行号 例…

    Linux干货 2016-12-12

评论列表(1条)

  • yini
    yini 2015-07-28 19:52

    已mark。 :smile: