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;