grep作业题

找出/proc/meminfo文件中,所有以大写或小写s开头的行,至少三种方式:

grep -i "^s" /proc/meminfo

grep "^[sS]" /proc/meminfo

grep -E "^(s|S)" /proc/meminfo


显示当前系统上roo、centos或者user用户的相关信息

grep -E "^(root/centos/user)\>" /etc/passwd


找出/etc/rc.d/init.d/functions文件中行首为某单词(包括下划线)后面跟一个小括号的行

grep -E -o "[_[:alnum:]]+\(\)" /etc/rc.d/init.d/functions


使用echo命令输出一绝对路径,使用egrep取出基名

echo /etc/sysconfig/ | grep -E -o "[^/]+/?$"


找出ifconfig命令结果中1-255之间的数值

ifconfig | grep -E -o "\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>"  | 这算的是每一位的数字。


找出ifconfig命令结果中所有IPv4地址

个位    十位  百位100以上  百位

ifconfig | grep -E -o "(\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>\.)(\<([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>\.){2}\<([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>"

ifconfig|  grep -E -o "(\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>\.){3}(\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>)"


这里,255 广播地址待议。25[0-5] 这里我觉的第一个用254


找出/etc/passwd文件中用户名同shell名的行

grep -E "^([^:]+\>).*\1$" /etc/passwd


找出ifconfig eth0 的ip地址

ifconfig eth0 | grep "inet addr" | cut -d: -f 2|cut -d " " -f 1  只能用一个空格来切


匹配右邮箱:

grep '.*@.*\.[[:alpha:]]\+$'


原创文章,作者:helloworld,如若转载,请注明出处:http://www.178linux.com/33398