1.grep:
-v:显示不被模式匹配的行;
-i:不区分字符大小写;
-o:只显示匹配到的串;
如,ifconfig | grep 'inet addr:[^[:space:]]';
ifconfig | grep --color=auto -o 'inet addr:[^[:space:]]*';
ifconfig | grep --color=auto -o 'inet addr:[^[:space:]]*'|cut -d:
-f2 | grep --color=auto -v '127.0.0.1';
-A num:显示指定的行后,后面在多显示num行;
-B num:显示指定的行后,前面在多显示num行;
-C num:显示指定的行后,前后都显示num行;
2.引号
grep 'PATTERN'
grep "PATTERN"
两者的区别是,如果出现变量,用“”,其他单双引号都可以;
3.练习
a.显示/proc/meminfo文件中以不区分大小的s开头的行;
grep --color=auto -i '^s.*' /proc/meminfo;
b.显示/etc/passwd中以nologin结尾的行;
grep --color=auto 'nologin$' /etc/passwd;
c.显示/etc/inittab中以#开头,且后面跟一个或多个空白字符,而后又跟了任意非
空白字符的行;
grep --color=auto '^#[[:space:]$].*[^[:space:]]' /etc/inittab
d.显示/etc/inittab中包含了:一个数字:(即两个冒号中间一个数字)的行;
grep --color=auto ':[[:digit:]]:' /etc/inittab
e.显示/boot/grub/grub.conf文件中以一个或多个空白字符开头的行;
grep --color=auto '^[[:space:]].*' /boot/grub/grub.conf ;
f.显示/etc/inittab文件中以一个数字开头并以一个与开头数字相同的数字结尾的
行;
grep --color=auto '^[0-9].*[0-9]' /etc/inittab或者
grep --color=auto '\(^[0-9]\).*\1' /etc/inittab;
转载于:https://blog.51cto.com/zkhylt/1302204