正则表达式练习

   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
下一篇 2016-08-10

相关推荐

  • 第七周作业

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;        (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [ro…

    2017-04-05
  • 自制linux和内核编译

    自制linux和内核编译 1、分区并创建文件系统 fdisk /dev/sdb分两个必要的分区/dev/sdb1对应/boot /dev/sdb2对应根/mkfs.ext4 /dev/sdb1mkfs.ext4 /dev/sdb2 2、挂载boot mkdir/mnt/bootmount /dev/sdb1 /mnt/boot 3、安装grub grub-i…

    Linux干货 2016-09-16
  • LVM详解

    一、概述     LVM全称为Logical Volume Manager,即逻辑卷管理器。LVM可以弹性的调整文件系统的容量,可以将多个物理分区整合在一起,并且根据需要划分空间或动态的修改文件系统空间。     LVM有两个版本: lvm,lvm2 二、LVM的相关概念   &…

    Linux干货 2015-04-28
  • 逻辑卷

    §·逻辑卷管理器LVM介绍 ※·LVM逻辑卷的简单描述 lvm(logical volume manager 逻辑卷管理器)的可以弹性的调整文件系统的容量,支持任何块设备,需要使用dm模块:device mapper设备映射,将一个或多个底层设备组织成一个逻辑设备的模块。 lvm的重点在于弹性的调整文件系统的容量,而并非在于数据的存储效率及安全上面…

    Linux干货 2016-08-30
  • Linux磁盘阵列RAID以及mdadm实现软件RAID

    一、概要 RAID(磁盘阵列):由众多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果来提升整个磁盘的性能。 二、RAID的级别及其优缺点 读性能提升 写性能提升 容错能力 组合后空间大小 RAID0 上升 上升 无 n*单个磁盘大小 RAID1 上升 下降 有(最多坏一块磁盘) 1*单个磁盘大小 RAID4 上升 上升 有(…

    2015-04-20
  • Linux文件和目录管理

    Linux目录和文件管理 Linux文件信息详述 文件数据存储在块中 文件元数据存储在inode中 文件名和其对应的inode号码存储在目录项中 数据块的概念: 文件在硬盘上的最小存储单位叫做扇区,1扇区=512字节,操作系统读取硬盘的时候不会一个一个读,这样太慢,会一次连续读多个扇区,即一个读取一个“块”,常见的 1块=八个扇区=4kB inode的概念:…

    Linux干货 2016-11-04