Chinaunix首页 | 论坛 | 博客
  • 博客访问: 78927
  • 博文数量: 41
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 434
  • 用 户 组: 普通用户
  • 注册时间: 2017-03-23 09:31
个人简介

天行健,君子以自强不息;地势坤,君子以厚德载物

文章分类
文章存档

2018年(11)

2017年(30)

我的朋友

分类: LINUX

2017-04-09 13:23:25

一、egrep及扩展正则表达式:
    REGEXP:REGular EXPression
    
    1、正则表达式:
        Basic REGEXP:基本正则表达式
        Extended REGEXP:扩展正则表达式
    2、扩展正则表达式:Extended REGEXP
        字符匹配:
            .:任意单个字符
            []:范围内的任意单个字符
            [^]:范围外的任意单个字符
        次数匹配:
            *:其前字符任意次
            ?:其前字符0次或1次
            +:其前字符至少1次,相当于正则表示式中'\{1,\}'
            {m,n}:匹配其前字符至少m次,至多n次
        位置锚钉:
            ^:锚钉行首
            $:锚钉行尾
            \<:锚钉词首
            \>:锚钉词尾
        分组:
            ():后向引用
                \1:引用第一个左括号以及与之对应的右括号所包含的所有内容
                \2:引用第二个左括号以及与之对应的右括号所包含的所有内容
                \3:引用第三个左括号以及与之对应的右括号所包含的所有内容
        或者:
            |:表示或者(or),如a|b,表示匹配a或者b
                例1:[root@Ourlab ~]# grep -E --colour 'C|cat' test6.txt
                    cat
                    Cat
                    C
                    China
                例2:[root@Ourlab ~]# grep -E --colour '(C|c)at' test6.txt
                    cat
                    Cat
    3、grep -E =egrep                
                    
课后练习:
1、找出/proc/cpuinfo文件中的1位数或2位数的行;
[root@Ourlab ~]# grep '\<[0-9]\{1,2\}\>' /proc/cpuinfo
2、找出/boot/grub/grub.conf命令结果中的1-255之间的整数;
[root@Ourlab ~]# egrep --colour '\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>' /boot/grub/grub.conf
3、查找当前系统上名字为wolf(必须出现在行首)的用户的账号的相关信息,文件/etc/passwd;
[root@Ourlab ~]# grep '^wolf\>' /etc/passwd                    
4、显示/boot/grub/grub.conf文件中以一个或多个空白字符开头的行;
[root@Ourlab ~]# grep -E '^[[:space:]]+' /boot/grub/grub.conf
或者:
[root@Ourlab ~]# grep '^[[:space:]]\{1,\}' /boot/grub/grub.conf
5、找出ifcongfig输出结果中IP及掩码等地址;
[root@Ourlab ~]# ifconfig | egrep --colour -o '(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){3}\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>'
6、找出ifconfig输出结果中A、B、C三类的IP地址;
[root@Ourlab ~]# ifconfig | egrep --colour -o '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-1][0-9]|22[0-3])\>(\.\<[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4]){2}\.\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>'

阅读(1012) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~