千家信息网

shell中grep和正则表达式怎么用

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章给大家分享的是有关shell中grep和正则表达式怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、匹配开头和结尾字符格式:grep { ^string |
千家信息网最后更新 2025年11月08日shell中grep和正则表达式怎么用

这篇文章给大家分享的是有关shell中grep和正则表达式怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

1、匹配开头和结尾字符

格式:grep { ^string | string $ } filename

示例:grep ^[a-z]tr filename;grep tr$ filename

我们看到 ^[a-z] 能匹配到以字母 a-z 开头的字符,o$ 能匹配到以字母 o 结尾的字符。

2、匹配整个单词

格式:grep '\btom\b' 2.txt

我们看到能匹配到 tom 的整个单词。

3、? + 和 * 的用处

用处:grep { ... | ? | .* } filename

. 匹配单个字符能匹配空格; * 匹配任意字符或字符串的重复多次; .+ 字符必须出现 1 次; .? 字符出现 0 次或 1 次。

示例:a> . 的匹配;b> * 的匹配。注意:grep 不支持 + ? 元字符 必须要加上 -E 选项

我们看到在 aa* 的时候出现了这么多,它的意思是匹配 a 字符后面的任意多个;在直接 n.+ 的时候并没有出现 n 开头的字符,必须加上 -E 才能显示出;那么 .+ 和 .? 的区别是什么呢? .+ 是全部匹配出,而 .? 只是匹配出字符 n 后面紧跟的一个字符。

下来看看 Perl 的正则表达式 -P:c> .* 的贪婪匹配;d> .*? 的惰性匹配

我们看到他们的区别是贪婪匹配是全部匹配到整个字符串,而惰性匹配只是匹配到 tom 这个字符串。

4、grep 的标签

格式:grep '\(str\)\(\)\(\)[other]\1' filename

我们看到在匹配 tom 和 hello 后,再加两个字符,便成功的匹配到了前两行的字符串。

5、grep 中的 pattern 搜索

格式1:grep '[str]\{2\}' filename;搜索文本中包含 2 次 tom 的行

格式2:grep '[str]\{1,\}' filename;搜索文本中至少包含 1 次 tom 的行

格式3:grep '[str]\{1,3}' filename;搜索文本中出现 1~3 次包含 tom 的行

以tom开头,连续出现1~3次的行

感谢各位的阅读!关于"shell中grep和正则表达式怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

字符 格式 字符串 开头 搜索 正则 表达式 文本 贪婪 内容 单词 只是 字母 惰性 时候 更多 用处 示例 篇文章 不错 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 免费服务器永久 温州中灵网络技术有限公司 长沙造华为服务器什么时候下线 linux快速搭建服务器 青云镇服务器 数据库安装会占用多少空间 小米手机转移数据库 软件开发时为什么会吵 网络安全教育参考文献 安徽专业软件开发哪家便宜 调度自数据库系统由什么构成 邯郸市网络安全宣传2020 数据库ETL的E 英雄联盟服务器分网络吗 陕西hp服务器维修哪家好 防泄密网络安全视频动画 将网络安全作为意识形态工作 毕节网络安全系统哪个好用 做招聘视频用什么软件开发 余姚财务软件开发便宜的 计算机网络技术分为哪几种 翻译器网络安全知识竞赛形式 公司对网络安全负责人 针对网络安全工作的感想 河北新闻广网络技术 网络安全基础应用与标准大纲 数据库管理中任何事物 陕西hp服务器维修哪家好 服务器主板改家用 虹口区海航数据库服务商前景
0