Ubuntu---grep

摘要:我们已经学过正则表达式了,所以现在开始学习 grep 也是水到渠成的事情。

简介:grep 是 Linux 中最常用的“文本处理工具”之一,grep 与 sed、awk 合称为 Linux 中的三剑客。

grep 的全称:Global search Regular Expression and Print out the line

全称中的:"Global search" 意为全局搜索之意

全称中的:“Regular Expression” 意为正则表达式

全称中的:”Print out line“ 意为打印(匹配)行

 

主要的参数:

--color=auto 或者 --color:表示对匹配到的文本着色显示(alias可以看到别名 ,在Ubuntu 18.04中可以看到 grep = 'grep --color=auto',已默认着色显示)

-i:在搜索的时候忽略大小写

-n:显示结果所在行

-c:统计匹配到的行数,注意,是匹配到的总行数,不是匹配到的次数(可能一行中有多个匹配项)

-o:只显示符合条件的字符串,但是不整行显示,每个符合条件的字符串单独显示一行(与 -n 连用,可看到同一行中匹配了几个字符串)

-v:输出不带关键字的行(反向查询)

-w:匹配整个单词,如果字符串中包含这个单词,则不作匹配

-Ax:在输出的时候包含结果所在行之后的指定行数,这里指定之后的 x 行(A:After)

-Bx:在输出的时候包含结果所在行之前的指定行数,这里指定之前的 x 行(B:Before)

-Cx:在输出的时候包含结果所在行之前和之后的指定行数,这里指定之前和之后的 x 行(C:Context)

-e:实现多个选项的匹配,逻辑或(or)关系

-q:静默模式,不输出任何信息,当我们只关心有没有匹配到,却不关心匹配到的内容时,我们可以使用此命令,然后,使用 ”echo $?“ 查看是否匹配到,0表示成功匹配到,1表示没有匹配到。

-P:表示使用兼容 perl 的正则搜索引擎

-E:使用扩展正则表达式,而不是基本正则表达式,在使用 -E 选项时,相当于使用 egrep

 

另外,除了 grep 命令,其实还有 egrep命令,还有 fgrep(fast grep) 命令,它们有各自的特点

grep:支持基本正则表达式

egrep:支持扩展正则表达式,相当于 grep -E

fgrep:不支持正则表达式,只能匹配写死的字符串,但是速度奇快,效率高

 

参考博客:http://www.zsythink.net/archives/1733

posted on   爱笑的张飞  阅读(1222)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示