linux--grep及正则表达式(二)

正则表达式有两类:

Basic REGEXP:基本

Extended REGEXP:扩展

基本正则表达式:

. : 任意单个字符

[]: 指定范围内的单个字符

[^]: 指定范围外的单个字符

次数匹配:

*:其前面的字符任意次

\?:0或1次

\{m,n\}:至少m次,至多n次

.* : 任意长度的任意字符

锚定:

^:行首锚定

$:行尾锚定

\<:锚定词首

\>:锚定词尾

\(\): 分组

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

grep : 使用基本正则表达式定义的模式来过滤文本的命令

-i: 不区分大小写

-v:    反向匹配

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

--color:匹配到的高亮显示

-E :使用扩展正则表达式

-A # :当某一行被grep指定的模式匹配到后,那一行不但显示,后面也显示

-B # : 同上,不但匹配的那行显示,前面也显示

-C # : 同上,不但匹配的那行显示,上下#行也显示

扩展正则表达式 :

字符匹配 :

. : 匹配单个字符

[]: 指定范围内的单个字符

[^] : 指定范围外的单个字符

次数匹配 :

* ;其前字符任意次

? : 其前字符0或1次

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

{m,n}

位置锚定:

^

$

\<

\>

分组:

():分组

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

或者

| : or

C|car : C或cat

grep -E = egrep

匹配空白字符至少一次

# grep -E ‘^[[:space:]]+‘ /etc/passwd

找出/boot/grub/grub.conf文件中1-255之间的数字;

# egrep ‘\<([1-9] | [1-9] [0-9] | 1 [0-9] [0-9] | 2 [0-4] [0-9] | 25 [0-5])\>‘ /boot/grub/grub.conf

ipv4:

五类 :

A : 1 - 127

B : 128-191

C : 192 -223

D

E

匹配ip:

# \<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>){2}\.\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>

grep,egrep

fgrep : 不支持正则表达式

时间: 2024-11-11 02:09:06

linux--grep及正则表达式(二)的相关文章

Linux &nbsp; &nbsp; grep命令,正则表达式

grep命令及正则表达式 grep命令 grep , egrep , fgrep grep,sed,awk 文本处理三剑客 grep: Global search REgular expression and Print out the line;全面查找正则表达式并将匹配到的行显示出来; 正则表达式 正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用;许多程序设计语言都支持利用正则表达式进行字符串操作; 主流的正则引擎又分为三类:DFA;传统型NFA;POSIX NFA; DFA

Linux grep与正则表达式

grep命令         格式:grep [-acinv] [--color=auto] '查找字符串' filename -a 将binary文件以text文件的 -c 计算找到 ‘查找字符串’ 的次数 -i 忽略大小写的不同,所以大小写视为相同 -n 顺便输出行号 -v 反向选择,即显示出没有 ‘查找字符串’ 内容的那一行 --color=auto 关键部分加上颜色显示 基础正则 ^:行首 $:行尾 查找以0为行首: 查找以3为行尾: . 代表一定有一个任意字符的字符 \转义字符,将特殊

linux grep和正则表达式

虽然正则表达式经常都在用,但是很少能够静下心来仔细的总结一下.最近看了一个台湾人的网站叫做鸟哥Linux私房菜,关于正则表达式的描述挺详细的.在此,我进行一下总结,如果想仔细的学习正则表达式,请访问鸟哥Linux私房菜,台湾同胞的网站是繁体中文的,需要点儿耐心. 正则表达式只是字符串的一种描述,只有和支持正则表达式的工具相结合才能进行字符串处理.本文以grep为例来讲解正则表达式. grep命令 功能:输入文件的每一行中查找字符串. 基本用法: grep [-acinv] [--color=au

Linux grep 和正则表达式 (笔记)

grep print lines matching a pattern 打印行匹配模式 grep 此命令作用是用来查询和匹配文本文件中的某个字符串 例 grep 'root' /etc/passwd 此命令是用来匹配到passwd文件中含有root字符串的行 [[email protected] ~]# grep 'root' /etc/passwdroot:x:0:0:root:/root:/bin/bashoperator:x:11:0:operator:/root:/sbin/nologi

grep 结合 正则表达式 二 连续次数的匹配

连续次数的匹配找出哪些行包含2个连续的字母a"{x}"表示前面的字符连续出现x次将会被匹配到需要注意的是,如果字符连续出现的次数大于指定的次数,也会被匹配到如果想精准匹配,还是的利用前面学习郭的词首和词尾的锚定\< \>"{x,y}"表示之前的字符至少连续出现x次,至多连续出现y次,都可以被匹配到,x与y之间逗号隔开."{x,}"表示之前的字符至少连续出现x次,或者连续出现次数大于x次,都可被匹配到,上不封顶."{,y}&q

Linux grep 命令中的正则表达式详解

在 Linux .类 Unix 系统中我该如何使用 Grep 命令的正则表达式呢? Linux 附带有 GNU grep 命令工具,它支持扩展正则表达式(extended regular expressions),而且 GNU grep 在所有的 Linux 系统中都是默认有的.Grep 命令被用于搜索定位存储在您服务器或工作站上的任何信息. 正则表达式 正则表达式就是用于匹配每行输入的一种模式,模式是指一串字符序列.下面是范例: ^w1 w1|w2 [^ ] grep 正则表达式示例 在 /e

Linux学习之正则表达式&grep&egrep

我们经常需要在文档中搜索符合自己要求的内容,这些部分可能分散在文档的各个位置,各个角落.可以利用关键字例如/keyword或者?keyword一个一个的搜索,还有我可能不止想搜索关键字,而是指定一个范围,怎样操作?而且怎样把这些搜索到的内容集中地显示出来?使用正则表达式搜索字串的grep命令和egrep命令就可以满足我们的这个要求. 正则表达式(Regular Expression)是一种字符书写的模式,以行为单位进行字符的处理,透过一些特殊字符的辅助,利用这种模式可以轻易地达到对字符的搜索.删

[Linux 006]——grep和正则表达式

在使用系统时,我们或多或少的有一些搜索.查找的需求,必须要在文本中搜索某个关键字,或者过滤出文本中某些特定的行.grep 命令就为我们提供了这样一个功能,同时,grep 还可以使用正则表达式进行匹配,这是一个强大的功能,有必要好好掌握. 1.grep 初体验 grep PATTERN [OPTIONS] FILE:在文件中按照模式进行查找.FILE 是我们要查找的目标文件,如果不指定目标文件,grep 将会从标准输入中读取输入的内容,然后进行匹配.为了方便起见,本文的所有演示都在命令行中通过标准

Linux基础之文本处理工具grep及正则表达式(附带egrep与grep的不同)

文本处理工具grep,正则表达式在Linux学习过程中很容易出现困惑与障碍的地方,这里分享下学习这方面内容的一些感受. grep Global search REgular expression and Print out the line 作用:文本搜索工具,根据用户指定的'模式(过滤条件)'对目标文本逐行进行匹配检查:打印匹配到的行: '模式':由正则表达式的元字符及文本字符所编写出的过滤条件. grep [OPTIONS] PATTERN [FILE...] grep [OPTIONS]

Linux系统的grep以及正则表达式浅析!

grep命令可以从文本中或者通过管道送过来的字符流中或一个"-"符号代替文件名来搜索精确或者模糊的匹配信息,grep家族有三个命令:grep,egrep,fgrep. grep支持正则表达式匹配查找 egrep支持扩展正则表达式匹配查找 fgrep不支持正则表达式匹配查找 grep命令的格式: grep [OPT] 'PATTERN' FILE PATTERN是所需要匹配的内容 精确匹配中单双引号的含义相同 如果PATTERN是精确匹配(即只有普通字符不包含元字符)且字符串中间不包含空