码迷,mamicode.com
首页 > 系统相关 > 详细

Linux中grep,egrep正则表达式基本用法

时间:2016-03-12 14:53:37      阅读:336      评论:0      收藏:0      [点我收藏+]

标签:正则表达式   职业生涯   search   linux运维工程师   区分大小写   

正则表达式

  本人第一次写博文。由于最近刚好学到了正则表达式基本使用方法。整理了一下,以后用于回顾查找。

 

正则表达式基本说明:

 基本来说,正则表达式式一种用来描述一定数量文本的模式,正则表达式的简写为REGEX 全称Regular Express。

 

 首先正则表达式对于Linux运维工程师来说非常重要,这将伴随每一个运维工程师的职业生涯。说到正则表达式那么不得不说一下grep和egrep,grep全称是Globally search for a Regular Expression and print  out the line,表示全局搜索正则表达式并打印匹配结果的意思,好了现在让我们来一起揭开正则表达式的神秘面纱。

 

常用格式:

grep [option]  "pattern"  FILE

 

常用选项:

--color 表示匹配结果用高亮颜色显示

技术分享


-i : 表示不区分大小写

. : (小数点)表示任意匹配任意单个字符

技术分享

-v:表示除显示结果以外的所有内容(上面为不加-v效果)

技术分享 

-o :表示只显示匹配到的内容

技术分享

*  :表示匹配之前的字符任意次

技术分享

.* :  表示匹配任意长度的任意字符

技术分享

-A n:n为数字,显示匹配到的内容及其后面的n行

示例:

-A 1,如下图:

技术分享

-B n :n为数字,显示匹配到的内容及其前面的n行

示例:

-B 1,如下图:

技术分享

-C n:n为数字,显示匹配到的内容及其前后n行

示例:

-C 1,如下图:

 技术分享

正则表达式元字符:

^ :表示锚定行首,格式:

 ‘^pattern’

技术分享

$ :表示锚定行首,格式:

‘pattern$’

 技术分享

注意:特殊用法,匹配空白行为‘^$’

[ ]:表示匹配范围内的任意字符

技术分享

[^] : 表示匹配范围外任意单个内容

技术分享

常用范围表示格式:

[0-9] : 表示所有数字等同于 [[:digit:]]

[a-z] : 表示所有小写字母等同于 [[:lower:]]

[A-Z] : 表示所有大写字母等同于 [[:upper:]]

[a-zA-Z] : 表示所有字母等同于 [[:alpha:]]

[a-zA-Z0-9] : 表示字母和数字等同于 [[:alnum:]]

[[:graph:]] : 表示非空字符(非空格、控制字符)

[[:cntrl:]] : 表示控制字符

[[:punct:]] : 表示标点符号

[[:print:]] : 表示非空字符(包含空格)

[[:space:]] : 表示空白字符

 

\? :表示匹配之前的字符0次或1次

技术分享

\{m,n\} :表示匹配之前的字符至少m次,最多n次

技术分享

\{0,n\}:表示匹配之前的字符最多n次

技术分享

\{m,\} :表示匹配之前的字符至少n次

技术分享

\{m\} :表示匹配之前的字符至少m次

技术分享

\< :表示单词词首锚定,等同于\b的用法一样

\> :表示单词词尾锚定,等同于\b的用法一样

如:\<word\> :表示锚定单词,等同于\bword\b 个人觉得\b较简单哈哈

技术分享

分组与引用:

\(PATTERN\):表示将此PATTERN匹配到的字符当作一个不可侵犯的整体

\( PATTERN\).*\1 :表示引用前面分组的内容

技术分享

egrep元字符:

+ :表示匹配前面的字符至少一次

技术分享

| :管道符在这里表示|符号两边任意一边

技术分享

( | ) :带括号的

技术分享

?:等同于grep中的\?

技术分享

( ):等同于grep中的\(\)

技术分享

{ } :等同于grep中\{\}

技术分享

案例:

  1. 显示test.txt中不以cb为结尾的行

技术分享

2.找出test文件中的三位或四位数

技术分享

3.找出/etc/grub2.cfg文件中,以至少一个空白字符开头,后面又跟了非空白字符的行; (最后显示内容较多,所以就截取部分)

技术分享


4、找出"fdisk  -l“命令的结果中,包含以/dev/后跟sd或hd及一个小字母的行;

技术分享

本文出自 “Linux运维” 博客,请务必保留此出处http://lailai900201.blog.51cto.com/3094187/1750221

Linux中grep,egrep正则表达式基本用法

标签:正则表达式   职业生涯   search   linux运维工程师   区分大小写   

原文地址:http://lailai900201.blog.51cto.com/3094187/1750221

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