grep练习 :
1 、显示/proc/meminfo 文件中以大小s 开头的行:
2 、显示/etc/passwd 文件中不以/bin/bash 结尾的行
3 、显示用户rpc 默认的shell
4 、找出/etc/passwd 中的两位或三位数
5 、显示/etc/grub2.cfg 文件中,至少以一个空白字符开头的
且后面存非空白字符的行
6 、找出"netstat -tan" 命令的结果中以'LISTEN' 后跟0 、1
或多个空白字符结尾的行
7 、添加用户bash 、testbash 、basher 以及nologin( 其shell为/sbin/nologin), 而后找出/etc/passwd 文件中用户名同shell名的行
首先创建新用户:
然后按照要求匹配出/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
egrep练习:
1 、显示当前系统root 、mage 或wang 用户的UID 和默认shell
2 、找出/etc/rc.d/init.d/functions 文件中行首为某单词(包括下划线)
3 、使用egrep 取出/etc/rc.d/init.d/functions
4 、使用egrep取出上面路径的目录名:
5 、统计以root身份登录的每个远程主机IP地址的登陆次数
用正则表达式表示IP地址:
用正则表达式表示手机号
[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
用正则表达式表示身份证号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
用正则表达式表示邮箱
[root@localhost ~]# echo 240482574@qq.com |egrep "\<([[:alnum:]]+(-|_)*[[:alnum:]]*)\>@([[:lower:]]|[[:digit:]])+\.[[:lower:]]*(\.[[:lower:]]+)*" 240482574@qq.com
[root@localhost ~]# echo 240482574@qqvip.com |egrep "\<([[:alnum:]]+(-|_)*[[:alnum:]]*)\>@([[:alnum:]]+\.)+[[:alnum:]]+" 240482574@qqvip.com
原创文章,作者:旧城以西,如若转载,请注明出处:http://www.178linux.com/30590