您的位置:首页 > 手游攻略 > 全局搜索正则表达式grep命令使用做法实用指南

全局搜索正则表达式grep命令使用做法实用指南

作者:互联网  时间: 2026-10-15 18:50:01  

平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“全局搜索正则表达式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 -nA1 sys passwd      【显示含有sys的行以及下1行】

# grep -nB1 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后有字符的不搜索

# grep -E "" 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】

总结

理解这一步时,总的来说,grep正则表达式实战技巧适合结合实际项目边做边理解。先抓住核心思路,再逐步补上细节和边界处理,最后效果会更稳定,也更容易复用。

Copyright©2010-2019. All rights reserved | 波波三国游戏官网|[email protected]

备案编号:湘ICP备2022015115号-4