码迷,mamicode.com
首页 > 其他好文 > 详细

正则 :grep 工具的正则表达式

时间:2018-02-23 23:56:20      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:帮助   1.5   命令   正则   正则表达式   image   目录   oss   style   

             

正则:


.正则就是一串有规律的字符串

.正则对编写shell脚本有很大帮助

.各种编程语言中都有正则

正则工具:grep/egrep(egrep是grep的扩展)、sed、awk

  

            grep (过滤关键词)

技术分享图片

 格式: grep [-cinvABC] 'word' filename 

 (1)-c 行数 

技术分享图片


 (2)-i 不区分大小写

技术分享图片

 (3)-n 显示行号

技术分享图片

 (4)-v 取反(过滤出不是关键字外的行)

技术分享图片

 (5)-r 遍历所有子目录

 (6)-A 后面跟数字n,过滤出符合要求的行以及下面n行

技术分享图片

 (7)-B 后面跟数字n,过滤出符合要求的行以及上面n行

技术分享图片

 (8)-C 后面跟数字n,同时过滤出符合要求的行以及上下各n行

技术分享图片

例子 grep正则表达式

no1: grep '[0-9]' passwd  

[]里的数字0-9表示0-9之间有一个数字,不理数字是有几个都过滤出,即过滤所有带数字的行

技术分享图片

no2: grep -v '[0-9]' /etc/inittab

(过滤出不带数字的行)

 技术分享图片


no3: grep -nv '^#' inittab

(过滤出不以#开头的行,“^”开头符

技术分享图片

no4 :grep '[^a-zA-Z]' inittab

    grep '^[^a-zA-Z]' inittab  ->过滤出不是以字母开头的行,即过滤出以数字开头的行

(当“^”放在了[]里后,它的意思就是“非”)

技术分享图片


no5 :grep 'r.o' passwd

(这里的“.”代表任意一个字符)

技术分享图片


no6 :grep -n 'o*o' passwd

(*:代表*前面字符零个或多个,o*:一个o或者多个o)

技术分享图片

no7 : grep -n '.*' passwd

(表示过滤所有,“.*”表示所有)

技术分享图片


no7 :grep -n 'o\{2\}' passwd

({}表示前面符号重复范围,’o\{2\}’表示o出现两次(或者2的次数幂)在要在转义符号“\”)

技术分享图片

grep -n 'o\{0,3\}' passwd

不带转义符号“\”的写法

egrep -n 'o{2}' passwd

grep -En 'o{2}' passwd

grep -En '(oo){2}' passwd



no8 :grep -n 'o\+b' passwd

("+"表示+前面字符一次或多次,而*是零次或多次)

技术分享图片



no9 :egrep -n 'o?t' passwd

   grep -En 'o?t' passwd

    grep -n 'o\?t' passwd

(?表示问号前面字符零次或者一次)


技术分享图片


no10 :grep -En 'root|nologin' passwd

(|表示或者)

技术分享图片


 在grep命令中有特殊符号的时候

 (1)使用转义符号

 (2)-E

 (3)使用egrep

正则 :grep 工具的正则表达式

标签:帮助   1.5   命令   正则   正则表达式   image   目录   oss   style   

原文地址:http://blog.51cto.com/13589255/2072491

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!