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@linuxcool ~]# 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@linuxcool ~]# 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@linuxcool ~]# 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@linuxcool ~]# 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