千家信息网

grep、egrep及相应的正则表达式和用法

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,grep系:grep,egrep,fgrep,文本搜索工具,基于PATTERN对于给定的文本进行模糊搜索,grep系默认工作于贪婪模式下。grep:grep [OPTIONS] PATTERN [FI
千家信息网最后更新 2025年12月01日grep、egrep及相应的正则表达式和用法

grep系:grep,egrep,fgrep,文本搜索工具,基于PATTERN对于给定的文本进行模糊搜索,grep系默认工作于贪婪模式下。

grep:

grep [OPTIONS] PATTERN [FILE...]

PATTERN:过滤条件,是由正则表达式元字符以及没有特殊含义的文本字符组成。

正则表达式元字符:

会被正则表达式引擎解释为特殊含义。 pcre--perl语言的正则表达式引擎。

基本的正则表达式:BRE

扩展的正则表达式:ERE

grep默认仅支持基本正则表达式

egrep默认仅支持扩展正则表达式

fgrep默认不开启正则表达式引擎

文本字符:

只具备字符片面含义的那些字符

常用选项:

-i, --ignore-case 忽略文本字符的大小写

-v, --invert-match 反向匹配,最终显示的结果是PATTREN不能匹配的行

-c, --count 统计匹配PATTERN的所有的行数

-o, --only-matching 关闭贪婪模式,仅显示PATTERN能匹配的内容

-q, --quiet, --silent 不输出任何匹配结果

--color[=WHEN], --colour[=WHEN] 将匹配的PATTREN的内容以特殊颜色显示

-E, --extended-regexp 扩展的正则表达式 grep-E 相当于egrep

-F, --fixed-strings, --fixed-regexp 相当于fgrep

-G, --basic-regexp 基本的正则表达式,egrep -G相当于grep

-P, --perl-regexp 使用PCRE引擎

-A NUM, --after-context=NUM 在显示匹配PATTERN的行同时显示其后面的NUM行

-B NUM, --before-context=NUM

PATTERN;

正则表达式元字符:

基本正则表达式元字符:

GLOBBING-------简化版的正则表达式: [] ? *

字符匹配:

.:匹配任意单个字符

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

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

下列所有的字符集都可以放置于[]之中匹配单个字符

[:lower:]

[:upper:]

[:alpha:]

[:digit:]

[:space:] 空格

[:alnum:]

[:punct:]

[:blank:]

[:xdigit:]:所有的十六进制数字

a-z:所有的小写字母

A-Z:所有的大写字母

0-9:所有的十进制数字

次数匹配: 该类字符之前的那个字符可以出现的次数

*:其前面的字符可以出现任意次(0次,1次或多次)

\?:其前面的字符可有可无(0次或一次)

\+:其前面的字符至少出现一次(1次或多次)

\{m\}:其前面的字符必须出现m次

\{m,n\}:至少出现m次,至多出现n次 (m

\{,n\}:其前面字符至多出现n次,至少出现0次

\{m,\}:其前面字符至少出现m次

在正则表达式中,表示任意长度任意字符的方式:.*

位置锚定字符:

行锚定:

行首锚定:^

行尾锚定:$

字锚定:

字首锚定:\<或\b

字尾锚定:\>或\b

\b:旧版本中的锚定方法,建议不使用

对于正则表达式的引擎来说,字是由特殊字符组成的连续字符串

分组与引用字符:

\(PATTERN\):将此PATTERN所匹配到的所有字符当做一个不可分割的整体来处理。

在正则表达式引擎中,有一系列内置变量,这些变量会保存所有分组内的字符信息,用于反向引用,这些变量依次是:\1,\2,\3...

..

或:

\|

注意:\|将其左右两边的字符串当整体对待。

A\|american:A或american

请找出ifconfig命令中数值在100-255之间的整数:

第一位:1 2

第二位:0-9 0-4 5

第三位:0-9 0-9 0-5

ifconfig | grep '\<\(1[0-9][0-9]\|2[0-4][0-9]\|25[0-5]\)\>'

grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]

默认情况下,grep命令后面只允许有一个PATTERN;

如果想要在依次grep搜索中写多个PATTERN,则需要-e选项,每个-e选项只能使用一个PATTERN作为参数;

将所需要的PATTERN写入到一个文件中,保证每行只有一个PATTERN,我们就可以使用-f的方式实现多PATTERN的匹配;

egrep: 下列用法和grep一样

扩展的正则表达式元字符:

字符匹配:

.

[]

[^]

次数匹配:

*

?

+

{m}

{m,n}

{m,}

{0,n}

位置锚定:

^

$

\<,\b

\>,\b

分组和引用:

()

\1,\2,\3...

或:

|


字符 正则 表达式 引擎 元字符 文本 特殊 单个 变量 含义 次数 分组 搜索 贪婪 位置 内容 命令 字母 字符串 数字 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 云服务器开传奇行吗 数据库职业发展晋升 学网络技术去图书馆 c ftp服务器文件 影响网络安全的常见因素有 专用计算机网络安全工程 杭州电子网络技术市场价格 数据库访问管理系统 网络安全部署的四种方式 2021年网络安全教育宣传片 无锡进口网络技术质量服务 统计与数据库专业有什么课程 如何查服务器的使用率 移动触摸屏上位机软件开发 django 数据库排序 下列属于网络技术发展趋势 SSO单点登录网络安全 陕西电商软件开发平台 网络安全中CA表示什么 苹果查找为什么连不上服务器 武汉百头网络技术有限公司 邢台市星友网络技术有限公司 延庆区网络技术服务成本价 计算机三级网络技术第二题 删除数据库时提示需要管理员权限 甘肃 网络安全等级 测评 服务器进入安全模式 腾讯云服务器被攻击会怎么样 软件开发技能鉴定 工信部网络安全供应商
0