正则表达式练习

   grep练习  :

1 、显示/proc/meminfo 文件中以大小s 开头的行:

blob.png

blob.png

blob.png

 2 、显示/etc/passwd 文件中不以/bin/bash 结尾的行

    

blob.png

3 、显示用户rpc 默认的shell 

blob.png

     

blob.png

4 、找出/etc/passwd 中的两位或三位数 

blob.png

 5 、显示/etc/grub2.cfg 文件中,至少以一个空白字符开头的

且后面存非空白字符的行

blob.png

 6 、找出"netstat -tan" 命令的结果中以'LISTEN' 后跟0 、1

或多个空白字符结尾的行

blob.png

 7 、添加用户bash 、testbash 、basher 以及nologin( 其shell为/sbin/nologin), 而后找出/etc/passwd 文件中用户名同shell名的行

     首先创建新用户:

blob.png

blob.png

         然后按照要求匹配出/etc/passwd文件中用户名和shell名一样的行

[root@localhost ~]# grep "^\([[:alnum:]]\{1,\}\):.*\1$" /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
bash:x:2021:2026::/home/bash:/bin/bash
nologin:x:2024:2029::/home/nologin:/sbin/nologin

blob.png




  egrep练习:  

  1 、显示当前系统root 、mage 或wang 用户的UID 和默认shell

blob.png

 2 、找出/etc/rc.d/init.d/functions 文件中行首为某单词(包括下划线)

blob.png

 3 、使用egrep 取出/etc/rc.d/init.d/functions

blob.png

 4 、使用egrep取出上面路径的目录名:blob.png

 5 、统计以root身份登录的每个远程主机IP地址的登陆次数blob.png




  用正则表达式表示IP地址:


blob.png

用正则表达式表示手机号

[root@localhost ~]# echo "13900123456" |grep -E -o "^\b1[3578][0-9]{9}\b" 
13900123456
[root@localhost ~]# echo 13800138000 |grep -E -o "^\b1[3578][0-9]{9}\b"
13800138000

blob.png

用正则表达式表示身份证号18

[root@localhost ~]# echo 130425199307275517 |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)\>" 
130425199307275517

blob.png

用正则表达式表示邮箱

[root@localhost ~]# echo 240482574@qq.com |egrep "\<([[:alnum:]]+(-|_)*[[:alnum:]]*)\>@([[:lower:]]|[[:digit:]])+\.[[:lower:]]*(\.[[:lower:]]+)*" 
240482574@qq.com

blob.png

[root@localhost ~]# echo 240482574@qqvip.com |egrep "\<([[:alnum:]]+(-|_)*[[:alnum:]]*)\>@([[:alnum:]]+\.)+[[:alnum:]]+" 
240482574@qqvip.com

blob.png

blob.png

原创文章,作者:旧城以西,如若转载,请注明出处:http://www.178linux.com/30590

(0)
上一篇 2016-08-10 10:27
下一篇 2016-08-10 10:27

相关推荐

  • 配置LAMP实现WordPress

    配置LAMP实现WordPress 在同一台主机上实现LAMP(Linux + Apache + MariaDB + PHP) CentOS 7.3、Apache 2.4.6、MariaDB 5.5.52、PHP 5.4.16 1 安装LAMP 采用yum方式进行安装httpd、MariaDB、php、php-mysql,php-mysql用来进行php和M…

    2017-06-06
  • find命令简单总结

     find     字符串类查询:            -type   //根据文件类型查找       &…

    Linux干货 2015-09-14
  • GRUB

    什么是GRUB GRUB(boot loader):grub:GRand Unified Bootloader     有两个版本:grub 0.x:grub legacy经典版;grub 2.x grub legacy:主要运行分三个阶段 stage1(第一阶段):安装在mbr中 stage1.5(第1.5阶段):存…

    Linux干货 2016-09-21
  • N23_第六周

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;:%s/^[[:blank:]]\+.*/\0#/g 2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符;:%s/^[[:space:]]\+/…

    Linux干货 2017-02-28
  • Shell运算符

    Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。 expr 是一款表达式计算工具,使用它能完成表达式的求值操作。 例如,两个数相加: #!/bin/bash val=`expr 2 + 2` echo …

    Linux干货 2017-04-18
  • X86平台系统启动流程 (Blog 9)

    POST –> BootSeqence(BIOS) –> Bootloader(MBR) –> Kernel(initrd) –> init(/etc/inittab)

    2017-11-27