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.www58058.com/30590