全局搜索正则表达式grep

grep简介

grep全程Globally search a Regular Expression and print,是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。unix的grep家族包括grep和egrep。

工作模式

工作方式

grep在一个或者多个文件中搜索字符串模板

如果模板中包括空格,需要使用引号引起来

模板后的所有字符串会被看作是文件名
工作结果

如果模板搜索成功,则返回0状态码。

如果搜索不成功,则返回1状态码

如果搜索的文件不存在,则返回2的状态码。

grep常用参数

# cp /etc/passwd . 【复制文件到当前目录】

# vim passwd 【修改当前文件的内容】

# grep root passwd 【在passwd文件搜索root相关的内容】

-e 过滤多个字符

# grep -e root -e lee passwd

-E 扩展表达式

grep -E "leelroot" passwd 【也是可以过滤多个字符】

-n 过滤显示行

-w 按单词过滤,及相等而非相似

grep -w root passwd 【过滤包含root单词的行】

-o 只显示匹配内容

-v显示不匹配内容

# grep -nvE "lee|root" passwd 【显示不含有lee和root的行】

-c 统计行数

# grep -c root passwd 【显示包含root的行数】

显示搜索内容周围行

# grep -n2 sys passwd 【显示含有sys关键字及其周围的2行,或****(-2n)(-2 -n)****】

# grep -n A1 sys passwd 【显示含有sys的行以及1行】

# grep -n B1 sys passwd 【显示含有sys的行以及1行】

正则表达式的使用

什么是正则表达式

正则表达式就是用在字符串的处理上面的一项表示式

在做程序设计时很多需要对一类字符进行处理,正则表达式就完美的解决了这个问题
基本与扩展正则表达式

基本正则表达式(Basic Regular Expression, BRE),又称为标准正则表达式,是最早制订的正则表达 式规范,仅支持最基本的元字符集。基本正则表达式是POSIX规范制订的两种正则表达式语法标准之---,另外一种语法标准称为扩展正则表达式

扩展正则表达式(Extended Regular Expression,ERE)支持比基本正则表达式更多的元字符

在grep命令使用基本正则表达式时不需要加任何参数

在grep命令使用扩展正则表达式时必须加-E参数
# cd /mnt/

# vim test

^ 字符 以开头搜索

字符 $ 以结尾搜索

. 字符 表示字符前单个的 . 匹配任意字符

显示匹配字符

^ 显示以字符开头的

\^ 显示不匹配的字符

* 表示出现任意次的字符

. + 表示必须有1个字符

.{ m , n } 表示字符出现m到n次

. ? 字符出现0到1次

( mn ) 显示有mn的字符

( m|n ) 显示m或n的字符

\ 将特殊字符失效

# vim test

# grep -E ' e \**** ****' test**** 【test文件搜索e开头,中间有 **** 的字符】

"\<lee\>" \<表示lee前有字符的不搜索,\>表示lee后有字符的不搜索

# grep -E "\<lee\>" passwd 【搜索有单独lee的字符】


正则表达式字符集

# touch ealee eAlee "ea lee" "ea@lee" "ea8lee"

# rm -fr e\[:alpha:]lee 【删除e+任意字符+lee,如ealee,eAlee】

# rm -fr e\[:alpha:]lee 【删除e+大写字符+lee】

相关推荐
鹏大师运维7 小时前
为什么信创电脑装软件总提示“软件包架构不匹配”?
linux·运维·架构·国产化·麒麟·deb·统信uos
问心无愧05137 小时前
ctf show web入门111
android·前端·笔记
007张三丰7 小时前
软件测试专栏(11/20):测试框架开发:pytest深度解析与插件体系
运维·服务器·自动化测试·pytest·测试框架
weixin_604236678 小时前
华三 路由器 极简核心配置
运维·服务器·网络·h3c·h3c路由器
鹤落晴春9 小时前
【Linux复习】管理SELinux安全性
linux·运维·服务器
AI智图坊9 小时前
多件装组合SKU图的批量生产效率分析:从PS手工到AI自动化的工作流改造
大数据·运维·人工智能·gpt·ai作画·自动化·aigc
敲代码还房贷10 小时前
解决win7装不了vmware tools问题
ubuntu
ZHW_AI课题组11 小时前
调用阿里云实现文本翻译功能
阿里云·云计算
和平宇宙11 小时前
AI笔记005. hermes-DeepSeek V4 Pro, 128K上下文引发的探索
前端·人工智能·笔记
十月的皮皮12 小时前
C语言学习笔记20260606- 求月份天数三种写法
c语言·笔记·学习