grep的扩展用法

正则表达式分为基本的正则表达式和扩展的正则表达式。

通常情况下,grep使用的是基本的正则表达式,如果要使用扩展的正则表达式,可以用-E选项,等同于egrep

grep的其他一些选项:

-A n:显示匹配行后面的n行,(after)。

-B n:显示匹配行前面的n行,(before)。

-C n:显示前后各n行。(context)

示例1:

[[email protected] tmp]# grep --color -A 1 ‘^cpu MHz‘ /proc/cpuinfo 
cpu MHz         : 2392.390
cache size      : 3072 KB
[[email protected] tmp]#
[[email protected] tmp]# grep --color -A 1 -B 2 ‘^cpu MHz‘ /proc/cpuinfo 
model name      : Intel(R) Core(TM) i3-2370M CPU @ 2.40GHz
stepping        : 7
cpu MHz         : 2392.390
cache size      : 3072 KB
[[email protected] tmp]#
[[email protected] tmp]# grep --color -C 2 ‘^cpu MHz‘ /proc/cpuinfo 
model name      : Intel(R) Core(TM) i3-2370M CPU @ 2.40GHz
stepping        : 7
cpu MHz         : 2392.390
cache size      : 3072 KB
fpu             : yes
[[email protected] tmp]#

扩展的正则表达式:

在扩展的正则表示式里面所使用的元字符和基本的正则表达式里面的元字符基本上都相同,区别主要有一下几个:

+:匹配前一个字符出现1次或多次。

{n,m}:前一个字符出现n到m次。

|:表示或。如a|b,则表示的是匹配a或b。

():表示分组,不需要使用反斜线。

示例:

[[email protected] tmp]# grep -E ‘(C|c)at‘ aa
cat
Cat
[[email protected] tmp]#

匹配1-255之间的数:

grep -E --color ‘\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b‘

查看IP信息:

[[email protected] ~]# ifconfig bond0 | grep ‘inet addr‘ | grep -E --color -o ‘(\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.\b){3}\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b‘ 
172.17.100.252
172.17.100.255
255.255.255.0
[[email protected] ~]#

grep的扩展用法

时间: 2024-12-15 13:23:39

grep的扩展用法的相关文章

文本处理命令系列——grep的扩展用法

正则表达式分为基本的正则表达式和扩展的正则表达式. 通常情况下,grep使用的是基本的正则表达式,如果要使用扩展的正则表达式,可以用-E选项,等同于egrep grep的其他一些选项: -A n:显示匹配行后面的n行,(after). -B n:显示匹配行前面的n行,(before). -C n:显示前后各n行.(context) 示例1: [[email protected] tmp]# grep --color -A 1 '^cpu MHz' /proc/cpuinfo cpu MHz   

正则表达式和grep命令的用法

正则表达式和grep命令的用法: 一.正则表达式: 正则表达式(也称为regular Expression,简称RE)就是由普通字符(例如字符a到z)以及特殊字符(称之为元字符)组成的文字模式. 该模式描述在查找文字主体时待匹配的一个或多个字符串. 正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配.简单的说,正则表示式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表示通过一些特殊符号的辅助,可以让使用者轻易的达到搜寻/删除/取代某特定字符串的处理程序.vim.gr

Linux中find、grep命令详细用法

在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 find命令的常用选项及实例 find与xargs grep命令 grep命令的一般形式 grep正则表达式元字符集(基本集) grep命令的常用选项及实例 1.find命令 find命令是一个无处不在命令,是linux中最有用的命令之一.find命令用于:在一个目录(及子目录)中搜索文件,你可以

grep及正则表达式用法总结

一.grep的基本用法 ????????grep是一个常见的文本选取工具,它可以将一段数据分析后,取出我们想要的,或者是经由关键字.正则表达式匹配选出我们想要的那一行.grep的用法及选项如下所示: grep:文本过滤工具 用法1:grep [OPTIONS] PATTERN [FILE...] 用法2:grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...] -v:取反,显示文本中没有被PATTERN匹配上的所有行 -i:匹配是忽略字符大小写 -n:匹配出

C#枚举总结和其扩展用法(通过枚举描设置枚举值)

C#中枚举是一个非常好用的类型,用会了之后确实方便了很多. 项目中一个枚举类型: public enum Version_Type : byte { [Description("1997版")] 版本1997 = 0 , [Description("2007版")] 版本2007 } 枚举类型的默认类型是int型,可以改变其使用的类型,需要用(: <type>)来进行设置,上例中<type>为byte,也可以用其它类型(byte,sbyte,

grep的简单用法

过滤root,就会把关于root的过滤出来,其他不匹配的就不会过滤[[email protected] sam]# grep 'root' passwdroot:x:0:0:root:/root:/bin/bashoperator:x:11:0:operator:/root:/sbin/nologin 默认是有颜色显示的,在centos 6里面默认是不带颜色的[[email protected] sam]# which grepalias grep='grep --color=auto'/usr

vue自定义指令clickoutside使用以及扩展用法

vue自定义指令clickoutside使用以及扩展用法 产品使用vue+element作为前端框架.在功能开发过程中,难免遇到使用element的组件没办法满足特殊的业务需要,需要对其进行定制,例如要求选择器的弹出框中,增加搜索过滤(跟目前element的输入建议不太一样).于是想说说之前修改element组件,并定制为业务组件过程中遇到的问题. ps:因为对某些组件改动很大,所以是直接拷贝了一份源码,然后再进行修改,但是这样会遇到挺多问题,建议对于vue组件如果改动不大,只是简单功能扩展,就

grep 和vim用法

grep :文本过滤( 模式:pattern) 工具 包括:grep, egrep, fgrep (不 支持正则表达式 搜索) 用法格式: grep [OPTIONS] PATTERN [FILE-] 模式:由正则表达式字符及文本字符所编写的过滤条件 各种选项:  –color=auto :     显示匹配的文本着色,centos7已经自动匹配红色 -b              :     显示不被模式匹配的行 -i     :忽略字符大小写                -n   :  显

正则表达式及grep、egrep用法

正则表达式:(英语:Regular Expression.regex或regexp,缩写为RE),也译为正规表示法.常规表示法,在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.可以分为基本正则表达式和扩展正则表达式. 一.基本正则表达式: 1.基本正则表达式的元字符 . :匹配任意单个字符 []: 匹配指定范围内的任意单个字符,其中有以下几种常用特殊的表达方式表示特殊的意义: [[:digit:]] 匹配任意单个数字即[0-9] [[:lower:]] 匹配任