文件管理 · 2022年02月20日 0

egrep命令 – 在文件内查找指定的字符串

egrep命令作用是在文件内查找指定的字符串。 egrep执行效果与grep -E相似,使用的语法及参数可参照grep指令,与grep的不同点在于解读字符串的方法。 egrep命令为 grep 的扩充版本, 改良了许多传统 grep 不能或不便的操作. 比方说: grep之下不支持 ? 与 + 这两种modifier, 但egrep可以。 grep不支持 a|b 或 (abc|xyz) 这类”或一”比对, 但egrep可以。 grep在处理 {n,m} 时, 需用 \{ 与 \} 处理, 但egrep则不需要。 **语法格式:** egrep [参数] [文件] **常用参数:** | -i | 搜索时,忽略大小写 | | ---- | ------------------------------------------------------------ | | -c | 只输出匹配行的数量 | | -l | 只列出符合匹配的文件名,不列出具体的匹配行 | | -n | 列出所有的匹配行,显示行号 | | -h | 查询多文件时不显示文件名 | | -s | 不显示不存在、没有匹配文本的错误信息 | | -v | 显示不包含匹配文本的所有行 | | -w | 匹配整词 | | -x | 匹配整行 | | -r | 递归搜索 | | -q | 禁止输出任何结果,已退出状态表示搜索是否成功 | | -b | 打印匹配行距文件头部的偏移量,以字节为单位 | | -o | 与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位 | **参考实例** 在文件里筛选包含“a”一个或一个以上的字符: ``` [root@anycode ~]# egrep 'a+' linuxcool.txt ``` 筛选字符串包含abc或123的字符: ``` [root@anycode ~]# egrep 'abc|123' linuxcool.txt ``` 筛选包含abc整体的字符: ``` [root@anycode ~]# egrep '(abc)' linuxcool.txt ``` 筛选包含abc整体的一个或多个字符: ``` [root@anycode ~]# egrep '(abc)+' linuxcool.txt ```