grep常见应用实例

 

在我们实际应用中,正则表达式的应用是非常广泛的,今天我就大家分享几个比较常见的正则表达式的应用实例,不周之处,还望高人多多指点!

 

一:使用正则表达式搜索邮箱地址

二:使用正则表达式搜索手机号

三:使用正则表达式搜索身份证号

四:使用正则表达式取网络配置文件中的IP地址的过程解析

 

一:使用正则表达式搜索邮箱地址:

[root@centos7 test]# cat mail

183530300@qq.com

netadmin@126.com

all-user@vip.qq.com

love_you@51cto.com

linuxedu@foxmail.com.cn

love-fire@vip.sina.com

love@vip.yahoo.com

This is a mailbox address table [root@centos7 test]# egrep "\<([[:alnum:]]+(-|_)*[[:alnum:]]*)\>@([[:lower:]]|[[:digit:]])+\.[[:lower:]]*(\.[[:lower:]]+)*" mail

183530300@qq.com

netadmin@126.com

all-user@vip.qq.com

love_you@51cto.com

linuxedu@foxmail.com.cn

love-fire@vip.sina.com

love@vip.yahoo.com

This is a mailbox address table 
qq_12345@qq.com
  
-NB74110@qq.com

wKioL1ekq4DhDmMcAAB_oEMww2g684.png

二:使用正则表达式搜索手机号:

[root@centos7 test]# cat tel

12812345678

a13012345678

b13112345678

c13212345678

1331234567890

13312345678

13412345678

13512345678

13612345678

13712345678

13812345678

13912345678

14012345678

14712345678

15012345678

15112345678

15212345678

15312345678

15412345678

15512345678

15612345678

15712345678

15812345678

15912345678

16012345678

17012345678

17712345678

17812345678

18012345678

18112345678

18212345678

18312345678

18412345678

18512345678

18612345678

18712345678

18812345678

abc1891234567890def

19012345678

[root@centos7 test]# egrep "\<13[0-9]{9}|147[0-9]{8}|15([0-3]|[5-9])[0-9]{8}|17[0,7][0-9]{8}|18([0-3]|[5-9])[0-9]{8}\>" tel

搜索结果如图所示wKioL1ekq6WxyoO_AACPMayo1zA106.png

三:使用正则表达式搜索身份证号:

[root@centos7 test]# cat id

123456789876543210

130626199010016512def

130626199010016512

abc130626199010016512

160626199010016512

200626199010016515

220626199010016515

240626199010016515

30062619901001651X

32062619901001651X

38062619901001651X

402062620080808100

420626198002023518

42062619901001651X

462062620080808100

472062620080808100

500626199010016517

522122199808081671

520626199010016517

550626199010016517

560626199010016517

600626199010016519

650626199010016519

660626199010016519

70162619900231651X

71162619901001651X

720626199010016510

800626199010016511

987654328765432165

810626199002316511

810626201800016511

820626199010016511

820626101013326511

830626100100165119

584721520131499999

[root@centos7 test]# egrep "\<((1[1-5])|(2[1-3])|(3[1-7])|(4[1-6])|(5[0-4])|(6[1-5])|(71|81|82))([0-9]){4}(19|20)([0-9]){2}((0[1-9])|(1[0-2]))(0[1-9]|([0-9])|(2[0-9])|(3[0-1]))([0-9]){3}([0-9]|X)\>" id
  
130626199010016512

220626199010016515

32062619901001651X

420626198002023518

42062619901001651X

500626199010016517

522122199808081671

520626199010016517

650626199010016519

71162619901001651X

810626199002316511

820626199010016511

wKiom1elRhqTFUSNAABXMPOMfsk095.png

四:使用正则表达式取网络配置文件中的IP地址的过程解析:

取四段中的第一段

[root@centos7 test]# egrep "\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-1][0-9]|22[0-3])\>." /etc/sysconfig/network-scripts/ifcfg-eno16777728

IPADDR=10.1.254.254 
GATEWAY=10.1.0.1
DNS1=202.106.0.20

 取四段中的第二段

[root@centos7 test]# egrep "\<([1-9]|[1-9][0-9]|1[0-9][0-9]|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-5])\>\.)" /etc/sysconfig/network-scripts/ifcfg-eno16777728

IPADDR=10.1.254.254
GATEWAY=10.1.0.1
DNS1=202.106.0.20

 取四段中的第三段

[root@centos7 test]# egrep "\<([1-9]|[1-9][0-9]|1[0-9][0-9]|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-5])\>\.){2}" /etc/sysconfig/network-scripts/ifcfg-eno16777728

IPADDR=10.1.254.254
GATEWAY=10.1.0.1
DNS1=202.106.0.20

 取四段中的第四段

[root@centos7 test]# egrep "\<([1-9]|[1-9][0-9]|1[0-9][0-9]|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-5])\>\.){2}\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>" /etc/sysconfig/network-scripts/ifcfg-eno16777728 
 
IPADDR=10.1.254.254
GATEWAY=10.1.0.1
DNS1=202.106.0.20

只显示IP地址

[root@centos7 test]# egrep -o "\<([1-9]|[1-9][0-9]|1[0-9][0-9]|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-5])\>\.){2}\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>" /etc/sysconfig/network-scripts/ifcfg-eno16777728
  
10.1.254.254
10.1.0.1
202.106.0.20

wKioL1ekJZzS12d7AACxvie2GK0469.png

本文出自 “爱情防火墙” 的博客,请务必保留此出处:http://www.178linux.com/author/lovefirewall

原创文章,作者:爱情防火墙,如若转载,请注明出处:http://www.178linux.com/29995

(1)
爱情防火墙爱情防火墙
上一篇 2016-08-08
下一篇 2016-08-08

相关推荐

  • 在虚拟机上使用CentOS6的两个iso文件创建本地yum仓库和http仓库

    yum客户端和服务器端都是本虚拟机 一、创建本地磁盘访问的yum仓库 条件和要求: a.guest虚拟机需要添加2个光驱,分别装载CentOS6.4发行版的DVD1和DVD2 b.DVD1和DVD2的挂载目录分别是:/media/cdrom/下的os和extras,并设置开机挂载 c.使用CentOS-Media.repo作为yum客户端配置文件,将其他re…

    Linux干货 2015-09-22
  • Linux命令的使用格式及部分常用命令详述

    Linux命令的使用格式及部分常用命令详述 Linux系统中命令的使用格式 Linux中命令的使用遵循以下格式 # COMMAND OPTIONS ARGUMENTS   ###命令 选项 参数,三项之间用空格分开 执行一个命令需要指定需要内核将哪一个二进制程序运行为一个进程,C…

    Linux干货 2016-10-30
  • Http协议中的各种长度限制总结

    HTTP1.0的格式 request(HTTP请求消息)结构:一个请求行.部分消息头,以及实体内容,其中的一些消息内容都是可选择的.消息头和实体内容之间要用空行分开. GET /index.html HTTP/1.1 //请求头,下面都是消息头.Accept: */*Accept-Languang:en-usConnection:keep-aliveHost…

    Linux干货 2015-04-04
  • 初识MySQL(一)

        数据库(DATABASES)      数据库是一个单位或是一个应用领域的通用数据处理系统,存储有企业和事业部门、团体和个人的有关数据的集合,该集合中数据是从全局观点出发建立的,按一定的数据模型进行组织、描述和存储。其结构基于数据间的自然联系,从而可提供一切必要的存取路径,且数据不…

    Linux干货 2015-08-24
  • Linux文本三剑客之grep

    一、定义:                 GREP  :Global search REgular expression and Print out the line的缩写。是一种强大的文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;并把匹配的行打印出…

    Linux干货 2016-04-05
  • 计算机基础与linux入门

    计算机硬件组成:     运算器:主要完成算术运算,逻辑运算     控制器:控制指令的执行序列,根据指令的功能给出实现指令功能所需要的控制信号     存储器:存放程序以及一些数据     &nbs…

    Linux干货 2015-12-19