Linux egrep 命令使用详解

简介

egrep(扩展 GREP)命令是 grep 的一个变体,支持扩展正则表达式 。它在功能上等同于 grep -E

基础语法

shell 复制代码
egrep [OPTIONS] PATTERN [FILE...]

或

grep -E [OPTIONS] PATTERN [FILE...]

示例用法

在文件中查找包含"error"的所有行

shell 复制代码
egrep "error" logfile.txt

大小写不敏感搜索

shell 复制代码
egrep -i "error" logfile.txt

使用多种模式 (|)

查找包含"error"或"warning"的行

shell 复制代码
egrep "error|warning" logfile.txt

使用 ?(匹配零次或一次出现)

查找"colou*r"(匹配"color"或"colour")

shell 复制代码
egrep "colou?r" file.txt

使用 +(匹配出现一次或多次)

查找"ab"、"abb"、"abbb"等

shell 复制代码
egrep "ab+" file.txt

使用 *(匹配零次或多次出现)

查找"ab"、"abb"、"abbb"甚至"a"

shell 复制代码
egrep "ab*" file.txt

使用 {}(精确或范围重复)

查找后面跟着 2 到 4 个"b"的"a"

shell 复制代码
egrep "ab{2,4}" file.txt

匹配行的开头 (^) 和结尾 ($)

  • 查找以"Error"开头的行
shell 复制代码
egrep "^Error" logfile.txt
  • 查找以"done"结尾的行
shell 复制代码
egrep "done$" logfile.txt

匹配特定字符集

  • 查找带有"gray"或"grey"的行
shell 复制代码
egrep "gr[ae]y" file.txt
  • 查找包含任意数字的行
shell 复制代码
egrep "[0-9]" file.txt
  • 查找没有数字的行([] 内的 ^ 表示否定)
shell 复制代码
egrep "[^0-9]" file.txt

使用括号进行分组

查找"foo1"或"foo2"但不查找"foo3"

shell 复制代码
egrep "foo(1|2)" file.txt

在多个文件中搜索

在所有 .log 文件中查找"error"

shell 复制代码
egrep "error" *.log

统计匹配到的次数

shell 复制代码
egrep -c "error" logfile.txt

显示行号(-n)

shell 复制代码
egrep -n "error" logfile.txt
相关推荐
拾贰_C5 分钟前
【Ubuntu】安装Nginx(nVidia驱动未安装成功阻止版)
linux·运维·服务器·ubuntu
克莱因3585 小时前
Linux CentOS7 进程基础知识
linux·运维·服务器
我爱学习好爱好爱8 小时前
Ansible 常用模块详解:yum、service/systemd、copy实战
linux·服务器·ansible
papaofdoudou8 小时前
LINUX VFIO被IOMMUFD取代
linux·运维·服务器
平生不喜凡桃李9 小时前
浅谈 Linux 中 namespace 相关系统调用
java·linux·服务器
YMWM_10 小时前
【问题】thor上的cubLas
linux·python·thor
杨云龙UP11 小时前
mysqldump逻辑备份文件恢复总结:全库恢复、单库恢复,一篇讲明白
linux·运维·服务器·数据库·mysql·adb
舰长11511 小时前
linux系统服务器加固1、中风险 未设置登录失败处理功能和登录连接超时处理功能。2、中风险 未限制默认账户的访问权限。3、中风险 未实现管理用户的权限分离。
linux·运维·服务器
mounter62511 小时前
Linux 7.0 重磅更新:详解 nullfs 如何重塑根文件系统挂载与内核线程隔离
linux·运维·服务器·kernel
色空大师11 小时前
【网站搭建实操(一)环境部署】
java·linux·数据库·mysql·网站搭建