在 Linux 中,egrep
命令是 grep
命令的一个变体,它使用正则表达式来搜索文本。egrep
是 "extended grep" 的缩写,它支持扩展的正则表达式,这使得它能够识别更多的正则表达式模式。在大多数现代 Linux 发行版中,egrep
实际上是一个链接到 grep
的命令,它使用 grep
的 -E
选项来启用扩展正则表达式。
基本语法
egrep [选项] 模式 [文件...]
常用选项
-i
:忽略大小写。-v
:显示不匹配的行。-n
:显示匹配行的行号。-c
:只显示匹配行的数量。--color
:将匹配的文本高亮显示。--line-buffered
:使用行缓冲模式。--mmap
:使用 mmap(2) 来读取输入,可能会更快。--line-offsets
:在输出中显示每个匹配的行的字节偏移量。
示例
- 在文件
example.txt
中搜索包含 "pattern" 的行:
egrep "pattern" example.txt
- 忽略大小写搜索 "pattern":
egrep -i "pattern" example.txt
- 显示不包含 "pattern" 的行:
egrep -v "pattern" example.txt
- 显示包含 "pattern" 的行的行号:
egrep -n "pattern" example.txt
- 只显示包含 "pattern" 的行的数量:
egrep -c "pattern" example.txt
- 高亮显示匹配的文本:
egrep --color "pattern" example.txt
由于 egrep
通常只是 grep -E
的一个别名,你也可以直接使用 grep
命令并加上 -E
选项来达到相同的效果。例如:
grep -E "pattern" example.txt
在使用 egrep
或 grep -E
时,你可以利用扩展正则表达式的强大功能,例如使用圆括号进行分组、使用 {}
进行量词指定等。