当前位置:首页>微思动态 > >详情
全国热线电话 400-881-4699

在线留言

【系列】每天一个 Linux 命令(16):grep 命令

发布作者:微思网络   发布时间:2025-12-01   浏览量:0


红帽 Linux 近期开班

RHCE  2026年1月31日    周末班

红帽RHCE9.0课程介绍


图片

grep命令来自英文词组global search regular expression and print out the line的缩写,意思是用于全面搜索的正则表达式,并将结果输出。人们通常会将grep命令与正则表达式搭配使用,参数作为搜索过程中的补充或对输出结果的筛选,命令模式十分灵活。

与之容易混淆的是egrep命令和fgrep命令。如果把grep命令当作标准搜索命令,那么 egrep 则是扩展搜索命令,等价于grep-E命令,支持扩展的正则表达式。而fgrep则是快速搜索命令,等价于 grep -F 命令,不支持正则表达式,直接按照字符串内容进行匹配。


1.命令格式:

grep 参数文件名


2.命令参数:

-b   显示匹配行距文件头部的偏移量

-C   只显示匹配的行数

-E   支持扩展正则表达式

-F   匹配固定字符串的内容

-h   搜索多文件时不显示文件名

-i    忽略关键词大小写

-1   只显示符合匹配条件的文件名

-n   显示所有匹配行及其行号

-0   显示匹配词距文件头部的偏移量

-q   静默执行模式

-r    递归搜索模式

-S   不显示没有匹配文本的错误信息

-V   显示不包含匹配文本的所有行

-W  精准匹配整词

-X   精准匹配整行


3.  参考示例:


搜索指定文件中包含某个关键词的内容行: 

[root@linuxcool ~]# grep root /etc/passwd   

root:x:0:0:root:/root:/bin/bash   

operator:x:11:0:operator:/root:/sbin/nologin

 


搜索指定文件中以某个关键词开头的内容行: 

[root@linuxcool ~]# grep ^root /etc/passwd   

root:x:0:0:root:/root:/bin/bash

 


搜索多个文件中包含某个关键词的内容行:

 

[root@linuxcool ~]# grep linuxprobe /etc/passwd /etc/shadow 

/etc/passwd:linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash 

/etc/shadow:linuxprobe:$6$9Av/41hCM17T2PrT$hoggWJ3J/j6IqEOSp62elhdOYPLhQ1qDho7hANcm5   

fQkPCQdib8KCWGdvxbRvDmqyOarKpWGxd8NAmp3j2Ln00::0:99999:7::: 003

 


搜索多个文件中包含某个关键词的内容,不显示文件名称: 

[root@linuxcool ~]# grep -h linuxprobe /etc/passwd /etc/shadow 

linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash   

linuxprobe:$6$9Av/41hCM17T2PrT$hoggWJ3J/j6IqEOSp62elhdOYPLhQ1qDho7hANcm5fQkPCQdib8KC 

WGdvxbRvDmqyOarKpWGxd8NAmp3j2Ln00::0:99999:7:::

 


显示指定文件中包含某个关键词的行数量: 

[root@linuxcool ~]# grep -c root /etc/passwd /etc/shadow 

/etc/passwd:2 /etc/shadow:1

 


搜索指定文件中包含某个关键词位置的行号及内容行:

[root@linuxcool ~]# grep -n network anaconda-ks.cfg 

17:network --bootproto=static --device=ens160 --ip=192.168.10.10 --netmask=255.255.255.0 

--onboot=off --ipv6=auto --activate   

18:network --hostname=www.linuxcool.com

 


搜索指定文件中不包含某个关键词的内容行: 

[root@linuxcool ~]# grep -v nologin /etc/passwd   

root:x:0:0:root:/root:/bin/bash   

sync:x:5:0:sync:/sbin:/bin/sync   

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown   

halt:x:7:0:halt:/sbin:/sbin/halt   

linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash

 


搜索当前工作目录中包含某个关键词内容的文件,未找到则提示:

[root@linuxcool ~]# grep -l root * 

anaconda-ks.cfg 

grep: Desktop: Is a directory   

grep: Documents: Is a directory   

grep: Downloads: Is a directory   

initial-setup-ks.cfg grep: Music: Is a directory   

grep: Pictures: Is a directory

grep: Public: Is a directory   

grep: Templates: Is a directory   

grep: Videos: Is a directory

 


搜索当前工作目录中包含某个关键词内容的文件,未找到也不提示:

[root@linuxcool ~]# grep -sl root * 

anaconda-ks.cfg 

initial-setup-ks.cfg





END

微思网络,始于2002年

专业IT认证培训23年,面向全国招生!


点击查看更多【培训课程目录】

图片

图片



返回顶部