egrep [ -h ] [ -i ] [ -p [ Separator ] ] [ -s ] [ -v ] [ -w ] [ -x ] [ -y ] [ [ -b ] [ -n ] | [ -c | -l | -q ] ] { { -ePattern | -fStringFile } ... | Pattern } [ File ... ]
egrep 命令会在输入文件(缺省值为标准输入)中搜索与用 Pattern 参数指定的模式相匹配的行。这些模式是完整的 正则表达式就像在 ed 命令中的那样(除了 \ (反斜杠)和 \\ (双反斜杠))。下列规则也应用于egrep 命令:
换行符将不会被正则表达式匹配。
运算符的优先顺序是 [, ], *, ?, +, 合并, | 和换行符。
注意:egrep 命令与grep 命令带-E 标志是一样的,除了错误消息和使用消息不同以及 -s 标志的功能不同之外。
egrep 命令会显示包含该匹配行的文件,如果您指定了多于一个 File 参数的话。对 shell 有特殊含义的字符 ($, *, [, |, ^, (, ), \ ) 出现在Pattern 参数中时必须带双引号。如果Pattern 参数不是简单字符串,通常必须用单引号将整个模式括起来。在表达式中比如[a-z],减号表示通过当前整理序列。整理序列可以定义等价的类以供在字符范围中使用。它使用了快速确定性的算法,有时需要外部空间。
注意:
- 行被限制在 2048 字节。
- 段落(在-p 标志下)当前限制在 5000 字符长。
- 不要在特殊文件上运行grep 命令,因为它会产生不可预测的结果。
- 输入行不应该包含 NULL 字符。
- 输入文件应该以换行符结束。
- 尽管有些标志可以同时被指定,但是有些标志会覆盖其他的标志。例如,如果同时指定 -l和 -n,只有文件名写入到标准输出中去。
此命令返回下列出口值:
0 | 找到匹配项。 |
1 | 未找到匹配项。 |
>1 | 发现语法错误,或者文件不可访问(即使找到了匹配项)。 |
要想使用包含模式匹配字 +, ?, |, (, 和 ) 中的一个扩展模式,请输入:
egrep "\(([A-z]+|[0-9]+)\)" my.txt
它会显示那些包含在圆括号里字母或数字的行,而不是在圆括号里包含数字字母组合的行。它会匹配 (y) 和(783902),而不是(alpha19c)。
注意:当使用egrep 命令时 \ ( (斜杠后跟着开括弧)或者 \ ( (斜杠后跟着闭括弧)匹配文本中的括弧,但是 ( (开括弧)和 ) (闭括弧)都是模式组部分中的特殊字符。在使用grep 命令时,逆向也成立。
/usr/bin/egrep | 包含指向 egrep 命令的硬链接。 |
/bin/egrep | 指定了指向 egrep 命令的符号链接。 |
awk 命令,ed 命令,fgrep 命令,grep 命令,sed 命令。
《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『文件概述』。
《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『输入输出重定向概述』。
《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『Shell 概述』。
AIX 5L Version 5.2 National Language Support Guide and Reference 中的National Language Support Overview。
联系客服