正则介绍grep

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则介绍grep相关的知识,希望对你有一定的参考价值。

一、正则介绍_grep上
技术分享图片
正则就是各种各样字符串有规律的组合在一起

grep:用来过滤指定关键词
技术分享图片
grep +关键词(用单引号引起来)+ 文件名
技术分享图片
[[email protected] grep]# which grep //grep 自动加了颜色,color=auto
alias grep=‘grep --color=auto‘
/usr/bin/grep
[[email protected] grep]# grep -c ‘nologin‘ passwd //-c选项,查看有多少行
17
#grep -n ‘nologin‘ passwd //-n选项,前面显示行号,第多少行
技术分享图片
#grep -ni ‘nologin‘ passwd //-i选项,不区分大小写,也会把大写的NOLOGIN过滤出来
技术分享图片
#grep -vni ‘nologin‘ passwd //-v选项,取反,会把除了‘nologin‘之外的取出来
技术分享图片
-r选项,遍历所有子目录或孙目录
#grep -r ‘root‘ /etc/ > /tmp/grep.log //-r选项
技术分享图片
-A 后面跟数字,过滤出符合要求的行以及下面n行
#grep -nA2 ‘root‘ passwd //列出‘root‘行以及以下2行
技术分享图片
-B 后面跟数字,过滤出符合要求的行以及上面n行
#grep -nB2 ‘root‘ passwd //列出‘root‘行以及上面2行
技术分享图片
-C 后面跟数字,同时过滤符合要求的行以及上下各n行
#grep -nC2 ‘root‘ passwd //列出‘root‘行以及上下各2行
技术分享图片

二、grep(中)
#grep ‘[0-9]‘ passwd //[ ]表示方括号里面的任意一个数字0-9
#grep -vn ‘[0-9]‘ /etc/inittab //过滤出/etc/inittab中不带数字0-9的所有行
#grep -n ‘^#‘ /etc/inittab //过滤出以#开头的所有行
#grep -nv ‘^#‘ inittab //把不是以#开头的行打印出来
#grep ‘[^0-9]‘ inittab //把非0-9(即不是数字)的行都列出来
#grep ‘^[^0-9]‘ inittab //把非0-9数字开头的行都列出来,^放到外面表示以什么开头的
#grep -v ‘^[^0-9]‘ inittab //把0-9数字开头的行都列出来

三、grep(下)
#grep ‘r.o‘ passwd //‘r.o’中的点表示任意一个字符,包括数字、大小写字母、特殊符号等
#grep ‘oo‘ passwd //‘oo‘ 中的表示:左边的字符重复0-n次
#grep ‘.‘ passwd //‘.‘ 表示任意一个任意字符,即通配的意思,所有的都匹配
#grep ‘user1.*bash‘ passwd //过滤user1这一行
#grep ‘o{2}‘ passwd //过滤出现2次o的行数,{ }表示花括号前面字符的重复范围
#grep ‘o{0,3}‘ passwd //过滤出从0-3次o的行数
#egrep ‘o{2}‘ passwd //不使用脱义符号,使用egrep
#grep -E ‘o{2}‘ passwd //grep -E 和 # egrep ‘o{2}‘ passwd 效果一样
#grep -E ‘(oo){2}‘ passwd //表示出现2次oo的行数
#grep ‘o+o‘ passwd 或者 # egrep ‘o+o‘ passwd //+表示出现o+1或者大于1次o,即o出现2次、3次、4次
#egrep ‘o+t‘ passwd //表示ot、oot、ott等
#egrep ‘o?t‘ passwd //?表示问号前面字符的重复次数为0或者1,即出现ot或者t的行
#grep -E ‘root|nologin‘ passwd 或者 #egrep ‘root|nologin‘ passwd // |竖线表示或者的意思

总结
.小数点表示:任意一个字符
星号表示:0个或多个前面的字符
{ }表示:花括号前面的一个范围
+表示:一个或多个加号前面的字符
?表示:0个或一个问号前面的字符
| 表示:或者

以上是关于正则介绍grep的主要内容,如果未能解决你的问题,请参考以下文章

9.1 正则介绍_grep(上);9.2 grep(中);9.3 grep(下)

正则介绍_grep

六周第一次课 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下

正则介绍 grep

正则介绍grep

9.1-9.3 正则介绍 grep上 中 下