grep命令以及正则表达式

grep以及正则表达式

  1. Grep

    根据模式(文本字符和正则表达式的元字符组合而成匹配条件)搜索文本,并将符合模式的文本行显示出来。

1.1grep家族:

grep:基本正则表达式使用的命令

egrep:扩展正则表达式使用的命令

fgrep(fast grep):不支持正则表达式,在没有正则表达式的字符串中的使用效率非常高,cup资源消耗少

1.2grep命令格式

grep  [options] PATTERN [FILE...]

1.2.1option

-i忽略大小写

--color:对匹配出来的字符加颜色

-v: 显示没有被模式匹配到的行

-o:只显示被模式匹配到的字符串

-E: 使用扩展正则表达式时候使用,grep –E=egrep

-A #: 显示后面的行

-B #:显示前面的行

-C #:显示前后的行

比如:显示、/proc/cpuinfo下面的内容

-A:

-B:

-C:

2.正则表达式:REGular EXPression, REGEXP

BasicREGEXP:基本

ExtendedREGEXP:扩展

2.1基本正则表达式

2.1.1字符匹配

.: 匹配任意单个字符

[]: 匹配指定范围内的任意单个字符

[^]:匹配指定范围外的任意单个字符

字符集合:[:digit:], [:lower:], [:upper:], [:punct:],[:space:], [:alpha:], [:alnum:]

a.b

[]:

[^]:

2.1.2匹配次数(贪婪模式):

*: 匹配其前面的字符任意次

.*: 任意长度的任意字符(任何以a开头和以b结尾的字符)

\?: 匹配其前面的字符1次或0次

\{m,n\}:匹配其前面的字符至少m次,至多n次,当最多次数不限制时n可以省略,m的最小值为0而且不可以省略。

\{1,\}:至少一次

\{0,3\}:至多3次

2.1.3位置锚定:

^: 锚定行首,此字符后面的任意内容必须出现在行首

$: 锚定行尾,此字符前面的任意内容必须出现在行尾

^$: 空白行

表示没有空白行

\<或\b: 锚定词首,其后面的任意字符必须作为单词首部出现

\>或\b: 锚定词尾,其前面的任意字符必须作为单词的尾部出现

精确匹配某个单词

分组:

\(\)

\(ab\)*

后向引用

\1: 引用第一个左括号以及与之对应的右括号所包括的所有内容

\2: 引用第二个左括号以及与之对应的右括号所包括的所有内容

\3: 引用第三个左括号以及与之对应的右括号所包括的所有内容

2.2拓展正则表达式

2.2.1字符匹配:(和基本正则表达式一样)

.

[]

[^]

2.2.2次数匹配:

*: (和基本正则表达式一样)

?:(和基本正则表达式少了\)

+: 匹配其前面的字符至少1次

下图至少匹配一个空白字符

{m,n}(和基本正则表达式比较少了\)

2.2.3位置锚定:

^

$

\<

\>

(和基本正则表达式一样)

分组:

():分组

\1, \2, \3, ...\n

或者:

|: or

C|cat: Cat或cat? C或cat(正确)

时间: 12-21

grep命令以及正则表达式的相关文章

grep命令以及正则表达式,算数运算.

最近一段时间一直在学习算术运算和正则表达式以及条件判断,连续看了四五遍,基本概念已经能够搞清楚了,实际操作中容易把正则表达式和算术运算以及条件判断混淆.看来还是要勤加联系.今天终于是有勇气来总结这两周的学习.在这之前,因为在练习这些逻辑概念性的知识经常会用到grep命令.首先介绍一下grep. 格式:grep [options] 'PATTERN' file,... grep: 文本搜索工具,根据用户指定的文本模式对目标文件进行逐行搜索,显示文件中能够被模式所匹配到的行. 模式PATTERN:指

07 grep命令与正则表达式

grep命令 首先我们知道grep命令是用来做文件内容过滤的!如果你要在文件中查找一些对应的内容,我们如何来过滤找到其中我们需要符合条件的内容呢?grep命令结合正则表达式就可以实现: grep.egrep以及fgrep为一组命令,其中grep为命令本身,而grep -e(支持正则表达式),fgrep就是什么都支持(fast grep)在某些条件下实现快速查找:这里我们详细介绍grep命令: grep的使用方式:grep [OPTIONS] PATTERN [FILE...] pattern 模

grep命令与正则表达式(过滤)一

首先,我们来了解grep命令,grep (global search regular expression and printing),全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.Linux中的grep命令包括.grep, egrep和fgrep .egrep是grep的扩展,支持更多的re元字符,fgrep就是fast grep,搜索字符比较快,但不支持正则表达式. 然后,我们再来熟悉一下grep命令,其命令格式为:grep [

linux命令(11)--grep命令及正则表达式

grep命令:print lines matching a pattern [功能]使用grep命令查找文件内容中的匹配到的字符串显示之,也称为过滤器,当然支持正则表达式复合使用. [语法] grep [options][pattern] filename [常用选项] -i:表示忽略大小写显示之 -n:输出行号 -o:表示只显示被匹配到模式的本身 -v:表示显示反显,匹配的不显示,没匹配到的显示之 --color=auto:将匹配到的内容着色显示之 [实例1]默认着色显示 [实例2]-i选项不

Grep命令及正则表达式

grep: grep英文全名: Global search REgular expression and Print out the line. 作用:文本搜索工具,根据用户指定的"模式(pattern)"逐行去搜索目标文本,打印匹配到的行: 模式:由正则表达式的元字符及文本字符所编写的过滤条件: 元字符:字符不表示其字面意义,而用于表示通配或控制功能: Grep命令分为分两类: 基本正则表达式:BRE 扩展正则表达式:ERE 命令格式 grep [OPTIONS] PATTERN [

grep命令、正则表达式、位置锚定、单词锚定

grep:根据模式,搜索文本,将匹配的行显示出来 语法:grep [OPTIONS] PATTERN [FILE...] PATTERN:将文本字符和正则表达式的元字符组合成的匹配条件 如: grep 'root' /etc/passwd,查找出文件中包含'root'字符的行. OPTIONS:  --color:将匹配到的串用高亮颜色显示出来 如: grep --color 'root' /etc/passwd 另:alias grep='grep --color',可定义为别名  -i, -

grep命令与正则表达式(过滤)二

例子 1.过滤出带有某个关键词的行,并输出行号. [[email protected] ~]# grep -n 'root' 1.txt 1:root:x:0:0:root:/root:/bin/bash 11:operator:x:11:0:operator:/root:/sbin/nologin 2.过滤出不带有某个关键词的,并输出行号. [[email protected] ~]# grep -vn 'root' 1.txt 2:bin:x:1:1:bin:/bin:/sbin/nolog

grep命令及正则表达式的使用和介绍

grep是Linux系统中的一个文本流处理工具,用于在文件中搜寻所需要的内容.grep.awk.sed被称为文本处理三剑客. 接下来我们看一下grep的使用格式及常用选项: grep [options] PATTERN [FILE...]       -v    #过滤匹配到的行       -o    #仅显示匹配到的字符       -i    #匹配字符时候忽略大小写       -n    #显示行号       -A n  #显示匹配到的行及上面的n行       -B n  #显示匹

grep命令与正则表达式(过滤)三

grep-E =egrep + 一个或者多个加号前面的字符 [[email protected] ~]# egrep --color  'r+o' 1.txt root:x:0:0:root:/root:/bin/bash drooaemon:x:2:2:daemon:/sbin:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin .表示任何一个字符 *表示零个或多个*前面的字符 .*任意个任意字符 ?0或者1个?前面的字符 +