正则表达式

本文详细介绍grep命令的基础及扩展用法,包括如何通过grep在文件中搜索特定字符串、使用正则表达式进行复杂匹配、排除指定内容等技巧。适合初学者快速掌握grep的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.基础正则表达式
grep:分析一行信息,若其中有我们想要的信息,就将该行取出来
grep [-acinv] '搜索字符串' filename
-a:将二进制文件以文本文件的方式搜索数据
-c:计算找到搜索字符串的次数
-i:忽略大小写
-n:顺便输出行号
-v:反向选择,即显示出没有'搜索字符串'内容的那一行
例子:last | grep 'root'
例子:last | grep -v 'root'
last | grep 'root'| cut -d ' ' -f 1


例1.搜索特定字符串
从文件中取得'the'字符串
grep -n 'the' filename
当该行没有'the'就取出来
grep -nv 'the' filename
例2.利用[]搜索集合字符
[]中不论有几个字符都代表有一个字符
grep -n 'te[ae]st' filename
[^]是[]的反向选择
grep -n '[^g]oo' filename
例3.行首^和行尾$字符
查询以'the'开头的行
grep -n '^the' filename
查询以小写字母开头
grep -n '^[a-z]' filename
查询非字母开头的
grep -n '^[^a-zA-Z]' filename
找出空行
grep -n '^$' filename
略去空行和注释行
grep -v '^$' filename | grep -v '^#'
例4.任意一个字符.和重复字符*
grep -n 'g..d' filename :查找共有四个字符串,开始是g结束是d
grep -n '000*' filename :至少俩个00字符串
grep -n 'g00*g' filename :开头和结尾都是g,中间有一个以上o
grep -n 'g.*g' filename :开头和结尾都是g,中间可有可无
找出任意数字的行 grep -n '[0-9][0-9]*' filename
例5.限定连续重复字符范围
grep -n '0\{2\}' filename :找到两个0的字符串
grep -n 'go\{2,5\}g' filename :找到g后面有2~5个o,然后在接个g的字符串
grep -n 'go\{2,\}g' filename :找到两个以上的
二.扩展正则表达式
上面的一个例子可以这样:egrep -v '^$|^#' filename找出不是空白行和注释行
+:重复一个或者一个以上
?:0个或者1个
|:用或的方式找出字符串
():找出用户组字符串grep -n 'g(la|oo)d' filename
意思是搜索glad或者是good字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值