/usr/bin/egrep [-bchilnsv] -e pattern_list [file...]
/usr/bin/egrep [-bchilnsv] -f file [file...]
/usr/bin/egrep [-bchilnsv] pattern [file...]
/usr/xpg4/bin/egrep [-bchilnqsvx] -e pattern_list [-f file] [file...]
/usr/xpg4/bin/egrep [-bchilnqsvx] [-e pattern_list] -f file [file...]
/usr/xpg4/bin/egrep [-bchilnqsvx] pattern [file...]
egrep (expression grep) 实用程序在文件中搜索字符模式,并显示包含该模式的所有行。egrep 使用完整的正则表达式(此类表达式所含的字符串值使用字母数字和特殊字符的完整集合)来匹配模式。它使用快速的确定性算法,该算法有时需要指数空间。
如果未指定任何文件,egrep 将采用标准输入。通常,所找到的每行均会被复制到标准输出。如果有多个输入文件,则会在所找到的每行前面显示文件名。
/usr/bin/egrep 实用程序接受 regexp(5) 手册页中所述的完整正则表达式,但 \( 和 \)、\( 和 \)、\{ 和 \}、\< 和 \> 以及 \n 除外,外加以下完整正则表达式,这些表达式也除外:
后跟 + 的完整正则表达式(匹配完整正则表达式的一次或多次出现)。
后跟 ? 的完整正则表达式(匹配完整正则表达式的 0 次或 1 次出现)。
由 | 或换行符分隔的完整正则表达式(匹配由任意表达式匹配的字符串)。
可以由括号括起()以进行分组的完整正则表达式。
在完整正则表达式中使用字符 $、*、[、^、|、(、) 和 \ 时要小心,因为这些字符对于 shell 也有意义。最安全的方法是,将整个完整正则表达式用单引号 (´´) 括起来。
运算符的优先顺序依次是 [ ]、* ? +、串联、| 和换行符。
/usr/xpg4/bin/egrep 实用程序使用 regex(5) 手册页的 EXTENDED REGULAR EXPRESSIONS(扩展正则表达式)一节中介绍的正则表达式。
/usr/bin/egrep 和 /usr/xpg4/bin/egrep 均支持以下选项:
在找到块的每行前面加上块编号。这在通过上下文定位块编号时可能很有用(第一个块是 0)。
只显示包含模式的行的计数。
搜索 pattern_list(以 − 开头的完整正则表达式)。
从 file 获取完整正则表达式的列表。
搜索多个文件时禁止显示文件名。
比较期间忽略大/小写区别。
显示一次具有匹配行的文件名(以换行符分隔)。多次找到模式时不重复文件的名称。
在文件中的每行前面加上其行号(第一行是 1)。
执行时无提示,即,除错误消息外不显示任何内容。这对于检查错误状态很有用。
显示包含模式的行以外的所有行。
/usr/xpg4/bin/egrep 仅支持以下选项:
静默。不向标准输出写入任何内容(不考虑匹配行)。如果选择输入行,则以零状态退出。
只考虑这样的输入行:在行中使用所有字符以匹配要成为匹配行的整个固定字符串或正则表达式。
支持下列操作数:
要在其中搜索模式的文件的路径名。如果未指定 file 操作数,将使用标准输入。
指定要在搜索输入内容期间使用的模式。
指定要在搜索输入内容期间使用的一个或多个模式。此操作数被视为如同指定为 –epattern_list。
有关 egrep 遇到大于或等于 2 GB(231 字节)文件时行为的说明,请参见 largefile(5)。
有关影响 egrep 执行的以下环境变量的描述,请参见 environ(5):LC_COLLATE、 LC_CTYPE、LC_MESSAGES 和 NLSPATH。
将返回以下退出值:
如果找到任何匹配项。
如果找不到任何匹配项。
对于语法错误或不能访问的文件(即使找到匹配项)。
有关下列属性的说明,请参见 attributes(5):
|
|
fgrep(1)、grep(1)、sed(1)、sh(1)、attributes(5)、environ(5)、largefile(5)、regex(5)、regexp(5)、XPG4(5)
理想情况下,应该只有一个 grep 命令,但目前没有一种算法可以足够广泛地涵盖各种空间和时间权衡的情况。
行仅受可用虚拟内存大小的限制。
/usr/xpg4/bin/egrep 实用程序与 /usr/xpg4/bin/grep –E 相同。请参见 grep(1)。可移植应用程序应当使用 /usr/xpg4/bin/grep –E。