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

语法格式:egrep [参数] 文件

常用参数:

-i 忽略大小写
-c 只输出匹配行的数量
-l 只列出符合匹配的文件名
-n 显示行号
-h 不显示文件名
-s 不显示错误信息
-v 内容反选
-w 匹配整词
-x 匹配整行
-r 递归搜索
-q 禁止输出任何结果
-b 打印匹配行距文件头部的偏移量

参考示例

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

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

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

[root@]# egrep -n \'root|linuxprobe\' anaconda-ks.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@]# egrep -v \'root|linuxprobe\' anaconda-ks.cfg 
#version=RHEL8
ignoredisk --only-use=sda
autopart --type=lvm
# Partition clearing information
clearpart --none --initlabel
# Use graphical install
graphical
repo --name=\"AppStream\" --baseurl=file:///run/install/repo/AppStream
# Use CDROM installation media
………………省略部分输出信息………………

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

[root@]# egrep \'root|linuxprobe\' anaconda-ks.cfg 
network  --hostname=linuxprobe.com
rootpw --iscrypted $6$c2VGkv/8C3IEwtRt$iPEjNXml6v5KEmcM9okIT.Op9/LEpFejqR.kmQWAVX7fla3roq.3MMVKDahnv0l/pONz2WMNecy17WJ8Ib0iO1
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty

© 版权声明
评论 抢沙发

请登录后发表评论