您的位置:首页 > 其它

grep的高级应用10

2013-09-26 16:09 260 查看
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;

本文出自 “Jessen Liu的博文” 博客,请务必保留此出处http://zkhylt.blog.51cto.com/3638719/1302204
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: