1、显示/proc/meminfo文件中以大小s开头的行(要求:使用两种方法)
grep "^[sS]" /proc/meminfo
grep "^(s|S)" /proc/meminfo
egrep "^(s|S)" /proc/meminfo
grep -e ^s -e ^S /proc/meminfo
2、显示/etc/passwd文件中不以/bin/bash结尾的行
grep -v "/bin/bash$" /etc/passwd
3、显示用户rpc默认的shell程序
getent passwd rpc|cut -d: -f1,7
grep "^rpc>" /etc/passwd |cut -d: -f1,7
4、找出/etc/passwd中的两位或三位数
grep -o "<[0-9]{2,3}>" /etc/passwd
5、显示CentOS7的/etc/grub2.cfg文件中,至少以一个空白字符开头的且后面存非空白字符的行
grep "[[:space:]]{1,}[[:space:]]{1,}" /etc/grub2.cfg
6、找出“netstat -tan”命令的结果中以‘LISTEN’后跟任意多个空白字符结尾的行
netstat -tan|egrep -o "<LISTEN>[[:space:]]$"
7、显示CentOS7上所有系统用户的用户名和UID
cat /etc/passwd|cut -d: -f1,3|egrep "<[0-9]{1,3}>"
8、添加用户bash、testbash、basher、sh、nologin(其shell为/sbin/nologin),找出/etc/passwd用户名同shell名的行
cat /etc/passwd|egrep "(^.)>./\1$"
egrep "(^.)>.*<\1$" /etc/passwd
9、利用df和grep,取出磁盘各分区利用率,并从大到小排序
df |gerp -o "^/dev/sd"|egrep "<[0-9]+%>"|tr -d %story -nr
df |grep "^/dev/sd"|tr -s " " "%"|cut -d% -f5|sort -nr
10、显示三个用户root、mage、wang的UID和默认shell
grep "^(root>|mage|wang)>" /etc/passwd|cut -d: -f1,3,7
egrep "^(root|mage|wang)>" /etc/passwd|cut -d: -f1,3,7
11、找出/etc/rc.d/init.d/functions文件中行首为某单词(包括下划线)后面跟一个小括号的行
egrep -o "^.\b()" /etc/rc.d/init.d/functions
egrep -o "^.>()" /etc/rc.d/init.d/functions
egrep -o '^([[:alnum:]]|)+()' /etc/rc.d/init.d/functions
egrep -o '^[[:alnum:]]+()' /etc/rc.d/init.d/functions
egrep -o '^[a-zA-Z0-9_]+()' /etc/rc.d/init.d/functions
12、使用egrep取出/etc/rc.d/init.d/functions中其基名
echo /etc/rc.d/init.d/functions|cut -d"/" -f5
echo /etc/rc.d/init.d/functions|egrep -o "[^/]+$" 文件
echo /etc/rc.d/init.d/functions |grep -Eo "[[:alnum:]]+$" 文件
echo /etc/rc.d/init.d/functions|egrep -o "[^/]+/?$"
basename /etc/rc.d/init.d/functions
13、使用egrep取出上面路径的目录名
echo /etc/rc.d/init.d/functions|egrep -o "/./."|grep -o ""/./"
dirname /etc/rc.d/init.d/functions
14、统计last命令中以root登录的每个主机IP地址登录次数
last |egrep -o "^root>"|egrep -o"([0-9]|[0-9]{2}|[0-9]{3})(.([0-9]|[0-9]{2}|[0-9]{3})){3}"|sort|uniq -c
15、利用扩展正则表达式分别表示0-9、10-99、100-199、200-249、250-255
[0-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]).){3}(([0-9]|[1-9][0-9]|[1[0-9][{2}|2[0-4][0-9]|25[0-5])
16、显示ifconfig命令结果中所有IPv4地址
ifconfig |egrep -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])>"
17、将此字符串:welcome to magedu linux 中的每个字符去重并排序,重复次数多的排到前面
echo "welcome to magedu linux" |tr -d " " |egrep -o [[:alnum:]] |sort|uniq -c|sort -nr
echo "welcome to magedu linux" |grep -o '.'|sort |uniq -c|sort -nr