正则表达式练习

   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

相关推荐

  • 网络服务之Nginx

      在之前一篇博客中我们讲述了httpd网络服务器,那么httpd是个非常稳定安全的一个服务器,这次我们介绍一个新的网络服务器—-nginx。   Nginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器(我们主要围绕这两…

    2017-06-07
  • 密码保护:测试信息, 顺便贴上以前年少轻狂的内容.(未整理)

    无法提供摘要。这是一篇受保护的文章。

    Linux干货 2017-07-11
  • 位置变量&特殊变量总结

    位置变量 常用的位置变量有 $1, $2, $3 ……,表示命令行传给脚本的第一个参数,第二个参数,第三个参数。。。 $0 表示脚本的文件名,比如a.sh 位置变量在脚本中的主要作用,是让脚本通过他们来获取命令行传递给脚本的参数。 变量位置调整 shift [n] 用于调整变量位置 第n+1个位置变量会被重新命名为$1…

    Linux干货 2016-08-15
  • CA服务器的搭建以及证书签署、dropbear的编译安装

    CA服务器的搭建以及证书签署、dropbear的编译安装 一、CA Server和Client: 1、CA server:创建私钥CA (1)   openssl的配置文件:/etc/pki/tls/openssl.conf   如果Client端的申请是来自不同的国家,则需要将下图中红色框内的三项,由“match”改为“opt…

    Linux干货 2016-09-23
  • Linux的发行版及哲学思想

    Linux是一套免费使用和自由传播的类Unix系统,是一个基于Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的工具软件、应用程序和网络协议。它支持32位和64位硬件,是一个性能稳定的多用户网络操作系统。严格来讲,Linux这个词本身只表示Linux内核,联合GNU 组织里的各种强大的应用软件而组成的操作系统。 从Linux的诞生至今,…

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

    1、请描述一次完整的加密通讯过程,结合图示最佳。 Bob先利用单向加密算法提取当前数据的指纹(特征码),再用自己的私钥加密数据指纹并附加于数据尾部,然后利用对称加密将整个文件加密,之后用对方的公钥加密对称加密密钥附加于尾部。 Alice收到数据后,先用自己的私钥解密,得到对称加密密钥,之后用对称加密密钥解密,然后用Bob的公钥解密得到数据指纹,并且验证了Bo…

    Linux干货 2016-09-26