grep命令手册

开源Linux

共 1620字,需浏览 4分钟

 · 2021-09-14

grep:文本搜索工具

功能描述:

grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符,等价于grep -E,支持基本和扩展的正则表达式。fgrep就是 fast grep,等价于grep -F,不支持正则表达式,按照字符串表面意思进行匹配。

命令语法:

grep [选项] [查找模式] [文件]

选项含义:

命令中各选项的含义如下表所示。

选项含义
-c计算找到搜寻文本的次数
-i搜索时,忽略大小写
-l只显示匹配行的文件名
-n显示匹配文本所在行号
-v反向选择,显示不包含匹配文本的所有行
-x强制模式仅完全匹配一行
-w强制模式仅完全匹配字词
-q禁止输出任何结果,以退出状态表示搜索是否成功
-s不显示错误消息
-r递归搜索

参数实例:

实例1

查找字符:

// 将/etc/passwd 中包含mysql字符所在行内容取出
[root@cnLinuxer ~]# grep mysql /etc/passwd
mysql:x:1001:1001::/home/mysql:/sbin/nologin

// 将/etc/passwd中包含mysql所在行内容取出,并显示行号
[root@cnLinuxer ~]# grep -n mysql /etc/passwd
22:mysql:x:1001:1001::/home/mysql:/sbin/nologin

实例2

反向查找:

//将/etc/passwd中不包含nologin的行取出
[root@cnLinuxer ~]# grep -v nologin /etc/passwd

实例3

递归查询:

// 在/test目录下查找包含字符“开源Linux”的文件,并显示所在行内容
[root@cnLinuxer ~]# grep -r "开源Linux" /test
/test/readme.txt:欢迎关注微信公众号:开源Linux,收获每日技术干货。

// 在/test目录下查找包含字符“开源Linux”的文件,并只显示匹配的文件
[root@cnLinuxer ~]# grep -r -l "开源Linux" /test
/test/readme.txt

实例4

行首与行尾字节 ^ $

// 显示/etc/passwd文件中以“^my”开头的行
[root@cnLinuxer ~]# grep ^my /etc/passwd
mysql:x:1001:1001::/home/mysql:/sbin/nologin

// 显示以nologin结尾的行,并显示行号
[root@cnLinuxer ~]# grep -n nologin$ /etc/passwd

// 不显示文本中的空行
[root@cnLinuxer test]# grep -v ^$ readme.txt


有收获,点个在看 
浏览 46
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报