SYNOPSIS
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
OPTIONS
Matcher Selection
-G: 将PATTERN解释为基本正则表达式。这是默认值。
-E: 将PATTERN解释为扩展正则表达式。
-F: 将PATTERN解释为一个固定的字符串的列表,由换行符分隔,只要匹配其中之一即可。
-P: 将PATTERN解释为Perl正则表达式。
Matching Control
-e PATTERN: 指定多个查找模式;保护以 - 为起始的模式。
-f FILE: 从FILE获取模式,每行一个。空文件包含零模式,因此不匹配任何内容。
-i: 忽略PATTERN和输入文件中的大小写区别。
-v: 改变匹配的意义,只选择不匹配的行。
-w: 只选择含有能组成完整的词的匹配的行。若某行中某个单词符合查找模式,则选中该行。
-x: 只选择能匹配完整一行的匹配。若整行符合查找模式,则选中该行。
General Output Control
-c: 禁止通常的输出;作为替代,为每一个输入文件打印一个匹配的行的总数。如果使用-v选项,将是不匹配的行的总数。
-L: 禁止通常的输出;作为替代,打印出每个在通常情况下不会产生输出的输入文件的名字(文件中不包含所提供模式的匹配)。
对每个文件的扫描在遇到第一个匹配的时候就会停止。
-l: 禁止通常的输出;作为替代,打印出每个在通常情况下会产生输出的输入文件的名字(文件中包含所提供模式的匹配)。
对每个文件的扫描在遇到第一个匹配的时候就会停止。
-m NUM: 在找到NUM个匹配的行之后,不再读这个文件。如果输入是来自一个普通文件的标准输入,并且已经输出了NUM个匹配的行,
grep保证标准输入被定位于退出时的最后一次匹配的行之后,不管是否指定了要输出紧随的下文的行。这样可以使一个调用程序恢复搜索。
当grep在NUM个匹配的行之后停止,它会输出任何紧随的下文的行。当使用了-c或--count选项的时候,grep不会输出比NUM更多的行。
当指定了-v或--invert-match选项的时候,grep会在输出NUM个不匹配的行之后停止。
-o: 只显示匹配的行中与 PATTERN 相匹配的部分,每个匹配部分位于单独的输出行上。
-q: 不向标准输出写任何东西。如果找到任何匹配的内容就立即以状态值0退出,即使检测到了错误。
Output Line Prefix Control
-b: 在输出的每行前面同时打印出当前行在输入文件中的字节偏移量。
-H: 为每个匹配打印文件名。当有多个要搜索的文件时,这是默认设置。
-h: 当搜索多个文件时,禁止在输出的前面加上文件名前缀。当只有一个搜索的文件时,这是默认设置。
-n: 打印匹配行在输入文件中的行号
Context Line Control
-A NUM: 打印出紧随匹配的行之后的下文NUM行。
-B NUM: 打印出匹配的行之前的上文NUM行。
-C NUM: 打印出匹配的行的上下文前后各NUM行。
File and Directory Selection
-a: 将一个二进制文件视为一个文本文件来处理;它与--binary-files=text选项等价。
-r, -R: 递归地读每一目录下的所有文件。这样做和 -d recurse 选项等价。