正则练习题(包含文本处理练习题)
问题
-
找出ifconfig命令结果中本机的所有IPv4地址
-
查出分区空间使用率的最大百分比值
-
查出用户UID最大值的用户名、UID及shell类型
-
查出/tmp的权限,以数字方式显示
-
统计当前连接本机的每个远程主机IP的连接数,并按从大 到小排序
答;
-
ifconfig | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'
-
df -h | tr -s ' ' ':' | cut -d : -f 5 | cut -d '%' -f1
-
cat /etc/passwd | sort -t : -k3n | cut -d : -f1,3,6 | tail -n 1
-
stat /tmp/ | tr -s ' ' ':' | cut -d : -f 2 | grep ^'(' | grep -o [0-9][0-9][0-9][0-9]或者 stat /tmp |head -4|tail -1 |tr "/" "("|cut -d "(" -f2
-
netstat -nt | grep tcp | tr -s " " ";" | cut -d ";" -f5 | uniq -c | sort -n
问题
-
显示/proc/meminfo文件中以大小s开头的行;(要求:使 用两种方式)
-
显示/etc/passwd文件中不以/bin/bash结尾的行
-
显示用户rpc默认的shell程序
-
找出/etc/passwd中的两位或三位数
-
显示/etc/grub2.cfg文件中,至少以一个空白字符开头的 且后面存非空白字符的行
-
找出“netstat -tan”命令的结果中以‘LISTEN’后跟任意多 个空白字符结尾的行
-
添加用户bash、testbash、basher以及nologin(其shell为 /sbin/nologin),而后找出/etc/passwd文件中用户名同shell名 的行
答:
-
cat /proc/meminfo | grep -i ^s或者 grep ^[sS]
-
cat /etc/passwd | grep -v "/bin/bash"
-
cat /etc/passwd | grep -w rpc | cut -d : -f 7
-
cat /etc/passwd | grep -n '[0-9]\{2,3\}'
-
cat /etc/grub2.cfg | grep "^[[:space:]]\{1,\}.\{1,\}"
-
netstat -tan | grep 'LISTEN[[:space:]]*$'
-
grep -n '^\(\b[[:alnum:]]\{1,\}\b\):.*\1$' /etc/passwd 或者grep -n '^\(\b.*\{1,\}\b\):.*\1$' /etc/passwd
问题
-
显示三个用户root、mage、wang的UID和默认shell
-
找出/etc/rc.d/init.d/functions文件中行首为某单词(包 括下划线)后面跟一个小括号的行
-
使用egrep取出/etc/rc.d/init.d/functions中其路径基名
-
使用egrep取出上面路径的目录名
-
利用扩展正则表达式分别表示0-9、10-99、100-199、 200-249、250-255
-
显示ifconfig命令结果中所有IPv4地址
答:
-
cat /etc/passwd | egrep '^\b(root|user1|user2)\b' | cut -d : -f 1,3,7
-
cat /etc/rc.d/init.d/functions | grep -n -w "^.*()" 或者 egrep -n '^(\b(\w{1,})\b)\(\)' /etc/rc.d/init.d/functions
-
echo "/etc/rc.d/init.d/functions" | egrep -o "[^/]+/?$"
-
echo "/etc/rc.d/init.d/functions" | egrep -o '^(/)\b.*\1\b'
-
egrep [0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]
-
ifconfig | egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
原创文章,作者:forest,如若转载,请注明出处:http://www.178linux.com/31322