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)
上一篇 2015-07-27 22:55
下一篇 2015-07-28 09:35

相关推荐

  • Python

    Python中os和shutil模块
    csv文件和ini文件简介

    Linux干货 2017-10-30
  • 始于此

         “路漫漫其修远兮,吾将上下而求索”,一段路程的结束,意味着一段路程的开始,同岁月般,永远也不能回到出发的那一刻,你所能做的,就是一路走下去。回顾珍惜,却不能逗留。         我的学习宣言是“功崇惟志,业广惟勤”,时刻告诉自己,“功”出…

    Linux干货 2016-11-28
  • 马哥教育网络班21期+第二周课程练习

    Linux上的文件管理类命令都有哪些?其常用的方法及其相关示例。     cp:将源文件或者目录复制到目标文件或者目录中。     mv:将文件或目录重新命名,或者将源文件从源目录移到目标目录中。     rm:删除指定的一个文件或者多个文件或者目录。       &n…

    Linux干货 2016-07-16
  • MBR分区结构

    MBR分区结构 一、硬盘主引导记录MBR由4个部分组成: 1、主引导程序(偏移地址0000H–0088H),它负责从活动分区中装载,并运行系统引导程序。 2、出错信息数据区,偏移地址0089H–00E1H为出错信息,00E2H–01BDH全为0字节。 3、分区表(DPT,Disk Partition Table):含4个分…

    2017-08-20
  • 从Linux小白到大牛——与狼共舞的日子13

    马哥教育网络班21期+第13周课程练习 1、建立samba共享,共享目录为/data,要求:(描述完整的过程) 1)共享名为shared,工作组为magedu; 2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; 3)添加sa…

    Linux干货 2017-01-03
  • ☞RAID使用手册

    RAID使用手册 RAID演示

    Linux干货 2016-09-02

评论列表(1条)

  • yini
    yini 2015-07-28 19:52

    已mark。 :smile: