2024年5月28日发(作者:)

Grep命令详解

grep [ -E | -F ] [ -i ] [ -h ] [ -s ] [ -v ] [ -w ] [ -x ] [ -y ] [ [ [ -b ] [ -n ] ] | [ -c | -l | -q ] ]

[ -p [ Separator ] ] { [ -e PatternList ... ] [ -f PatternFile ... ] | PatternList ... } [ 文件... ]

描述

grep

命令用于搜索由Pattern参数指定的模式,并将每个匹配的行写入标准输出中。这些

模式是具有限定的正则表达式,它们使用ed或egrep命令样式。grep命令使用压缩的不

确定算法。

如果在File参数中指定了多个名称,grep命令将显示包含匹配行的文件的名称。对

shell 有特殊含义的字符 ($, *, [, |, ^, (, ), ) 出现在 Pattern

参数中时必须带双引号。如果 Pattern参数不是简单字符串,通常必须用单引号将整

个模式括起来。在诸如 [a-z], 之类的表达式中,-(减号)cml 可根据当前正在整理的序

列来指定一个范围。整理序列可以定义等价的类以供在字符范围中使用。如果未指定任何

文件,grep会假定为标准输入。

注意:

1.行被限制为2048个字节。

2.段落(使用-p标志时)长度当前被限制为5000个字符。

3.请不要对特殊文件运行grep命令,这样做可能产生不可预计的结果。

4.输入行不应包含空字符。

5.输入文件应该以换行符作为结束。

6.正则表达式不会对换行符进行匹配。

7.虽然一些标志可以同时被指定,但其中的某些标志会覆盖其它标志。例如,-l选项

将优先于所有其它标志。另外,如果您同时指定了-E

和-F标志,则后指定的那个会有优先权。

标志

-b

在每行之前添加找到该行时所在的块编号。使用这个标志有助于通过上下文来找到磁

盘块号码。-b标志不能用于来自标准输入和管道的输入。

-c

仅显示匹配行的计数。