egrep命令来自英文词组extended global regular expression print的缩写,其功能是在文件内查找指定的字符串。egrep命令的执行效果与grep -E相似,使用的参数也可以直接参考grep命令。egrep命令改良了grep命令原有的一些字符串处理功能,支持的正则表达式规‍则更多。

语法格式:egrep 参数 文件名

常用参数:

-a像处理文本一样处理二进制程序 -r使用递归搜索模式
-b显示匹配行距文件头部的偏移量-s不显示错误信息
-c仅显示匹配行的数量-v内容反选
-h不显示文件名-w匹配整词
-i忽略大小写-x匹配整行
-l只显示符合匹配条件的文件名--help显示帮助信息
-n显示内容行号--version显示版本信息
-q静默执行模式-r使用递归搜索模式

参考示例

在某个文件中搜索包含指定关键词的行(单一关键词):

[root@linuxcool ~]# egrep 'root' File.cfg 
Rootpw --iscrypted $6$c2VGkv/8C3IEwtRt$iPEjNXml6v5KEmcM9okIT.Op9/LEpFejqR.
kmQWAVX7fla3roq.3MMVKDahnv0l/pONz2WMNecy17WJ8Ib0iO1 
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty 

在某个文件中搜索包含指定关键词的行并显示行号:

[root@linuxcool ~]# egrep -n 'root|linuxprobe' File.cfg 
18:network --hostname=linuxprobe.com 
20:rootpw --iscrypted $6$c2VGkv/8C3IEwtRt$iPEjNXml6v5KEmcM9okIT.Op9/LEpFejqR.
kmQWAVX7fla3roq.3MMVKDahnv0l/pONz2WMNecy17WJ8Ib0iO1 
40:pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty

在某个文件中搜索包含指定关键词的行,将匹配内容反选后输出到屏幕:

[root@linuxcool ~]# egrep -v 'root|linuxprobe' File.cfg 
#version=RHEL8 
ignoredisk --only-use=sda 
autopart --type=lvm 
………………省略部分输出信息……………… 

在某个文件中搜索包含指定关键词的行(多个关键词,有任意一个即满足条件):

[root@linuxcool ~]# egrep 'root|linuxprobe' File.cfg 
network--hostname=linuxprobe.com 
rootpw --iscrypted $6$c2VGkv/8C3IEwtRt$iPEjNXml6v5KEmcM9okIT.Op9/LEpFejqR.kmQWAVX7 fla3roq.3MMVKDahnv0l/pONz2WMNecy17WJ8Ib0iO1 
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。