正则表达式练习

   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

相关推荐

  • Find命令的使用

    Find命令的基本用法 在Linux系统中find命令是一个强大文件查找类工具,它支持根据文件名,权限,文件大小,访问以及修改时间查找,使用方法如下: find [option] [查找起始路径] [查找条件] [处理动作] 起始路径:指定查找文件或目录的路径,默认为当前目录 查找条件:可根据文件名,权限,文件大小以及从属关系查找文件 处理动作:动查找到的文…

    Linux干货 2017-08-28
  • Linux启动过程及系统初始化

    一、前言     服务器在正常的运行过程中,很少有重启的机会。在正常的情况下,也很少有出现启动异常的情况,但是在遭到了人为或者误操作的情况后,可能会出现启动异常的情况。为了加深学习系统启动流程,能够更加深入理解Linux系统的启动流程。总结了这篇文字。 二、简述启动流程     …

    Linux干货 2016-11-23
  • 马哥教育N22期第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 root@xuc-virtual-machine:/home/xuc# cp -r /etc/skel/ /home/tuser1 root@xuc-virtual-machine:/…

    Linux干货 2016-09-06
  • 高可用Nginx

    高可用Nginx 基于vrrp流动一个IP地址 各节点时间必须同步; 确保iptables以及selinux不会成为阻碍; 各节点之间可通过主机名互相同喜(对KA而言并非必须) 确保各节点的用于集群服务的接口支持MULTICAST通信 IPv4,D类地址224-239 环境: node1:172.16.253.223 li1.jing.io node1 no…

    Linux干货 2017-06-28
  • N22-第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 # cp -r /etc/skel /home/tuser1 # chmod 700 /home/tuser1 2、编辑/etc/group文件,添加组h…

    Linux干货 2016-09-06
  • find查找

    find查找是生产中最常见的日志查找工具 下面看看它的用法 基本用法: find    查找路径    查找标准    查找到以后的处理动作 查找路径:需要被查找的文件所在的路径,一定是个目录,默认情况下为当前的目录 查找的标准:查找的时候用什么方式去查找 处理动作:文件查找完毕后,需要对查找出来的…

    Linux干货 2017-05-08