课后习题3--正则表达式
1、查出分区空间使用率的最大百分比值 [root@centos7~]#df|grep"^/dev"|grep-v"cdrom$"|tr''':'|tr-s':'|cut-d:-f5|sort 1% 4% 73% 2、查出用户UID最大值的用户名、UID及shell类型 [root@centos7~]#cat/etc/passwd|sort-n-t:-k3|cut-d:-f1,3,7|tail-1 nfsnobody:65534:/sbin/nologin 3、查出/tmp的权限,以数字方式显示 [root@centos7~]#stat/tmp|head-4|tail-1|tr'(/)'':'|tr''':'|tr-s':'|cut-d:-f2 0777 或者 [root@centos7~]#stat/tmp|grep"^A.*)$"|tr'''n'|head-2|tail-1|tr-cd'[:digit:]' 0777 4、统计当前连接本机的每个远程主机IP的连接数(包括端口号),并按从大到小排序 [root@centos7~]#netstat-tan|grep"^tcp&;"|tr'''*'|tr-s'*'|cut-d*-f4|uniq-c|sort-r 310.1.0.17:22 1192.168.122.1:53 1127.0.0.1:631 1127.0.0.1:25 10.0.0.0:22 5、显示/proc/meminfo文件中以大小s开头的行;(要求:使用两种方式) 方法一 [root@centos7~]#grep"^[sS]"/proc/meminfo SwapCached:6928kB SwapTotal:2097148kB SwapFree:2051836kB Shmem:20884kB Slab:150348kB SReclaimable:84320kB SUnreclaim:66028kB 方法二 [root@centos7~]#grep-i"^s"/proc/meminfo SwapCached:6928kB SwapTotal:2097148kB SwapFree:2051836kB Shmem:20884kB Slab:150348kB SReclaimable:84320kB SUnreclaim:66028kB 6、显示/etc/passwd文件中不以/bin/bash结尾的行 [root@centos7~]#grep-v"^/bin/bash"/etc/passwd 7、显示用户rpc默认的shell程序 [root@centos7~]#grep"^rpc&;"/etc/passwd|cut-d:-f1,7 rpc:32:/sbin/nologin 8、找出/etc/passwd中的两位或三位数,必须是正整数 [root@centos7~]#grep-E"&;1[0-9]{1,2}&;"/etc/passwd 9、显示/etc/grub2.cfg文件中,至少以一个空白字符开头的且后面存非空白字符的行 [root@centos7~]#grep"^[[:space:]]+[^[:space:]]+.*"/etc/grub2.cfg 10、找出“netstat -tan”命令的结果中以‘LISTEN’后跟任意多个空白字符结尾的行 [root@centos7~]#netstat-tan|grep-E"LISTEN[[:space:]]*$" tcp00192.168.122.1:530.0.0.0:*LISTEN tcp000.0.0.0:220.0.0.0:*LISTEN tcp00127.0.0.1:6310.0.0.0:*LISTEN tcp00127.0.0.1:250.0.0.0:*LISTEN tcp600:::22:::*LISTEN tcp600::1:631:::*LISTEN tcp600::1:25:::*LISTEN 11、添加用户bash、testbash、basher以及nologin(其shell为/sbin/nologin),而后找出/etc/passwd文件中用户名同shell名的行 [root@centos7~]#grep-E"^&;(.*)&;.*&;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 nologin:x:4346:4346::/home/nologin:/sbin/nologin 12、显示三个用户root、mage、wang的用户名、UID和默认shell [root@centos7~]#grep-E"^(root|mage|wang)&;"/etc/passwd|cut-d:-f1,7 root:0:/bin/bash mage:4347:/bin/bash wang:4348:/bin/bash 13、找出/etc/rc.d/init.d/functions文件中行首为某单词(包括下划线)后面跟一个小括号的行 grep-E"^[[:alpha:]_]+()"/etc/rc.d/init.d/functions 14、使用egrep取出/etc/rc.d/init.d/functions中其基名 [root@centos7~]#echo/etc/rc.d/init.d/functions|grep-E-o"[^/]+/?$" functions 15、使用egrep取出上面路径的目录名 [root@centos7~]#echo/etc/rc.d/initd/function|grep-E-o"^/.*/" /etc/rc.d/initd/ 16、显示ifconfig命令结果中所有IPv4地址 [root@centos7~]#ifconfig|grep-E-o'(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])' 10.1.0.17 255.255.0.0 10.1.255.255 127.0.0.1 255.0.0.0 192.168.122.1 255.255.255.0 192.168.122.255 附一个取目录名的方法,大家帮忙解释一下哈! [root@centos7~]#echo/etc/rc.d/initd/function/|grep-E-o"^/.*/b" /etc/rc.d/initd/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |