如何grep准确匹配

时间:2017-06-28 08:27:33

标签: linux grep

我有一个文件如下:

SD
SD SD
SD W

我想将SD使用的grep仅匹配除第二行和第三行之外的第一行。怎么样?

结果我想在第一行匹配这里只是一个例子。因此,基于线条namber就像grep 1grep -w 1一样都不是更好。我想知道如何区分匹配SDSD SDSD W? Thanls。

3 个答案:

答案 0 :(得分:1)

你的意思是

grep ',SD,' filename

或者你真的只是在第一线上哭?

head -n1 filename | grep 'SD'

答案 1 :(得分:0)

您可以使用-m选项grep

-m NUM表示grep:匹配行

$ grep -m 1 "SD" file
AS,SD,GFFG

答案 2 :(得分:0)

使用Regular Expressions

grep -E "^SD$" file

英文:“找到以(= ^)字母”S“开头并以(= $)字母”D“结尾的行。

返回:

SD

但是如果有两条完全相同的线条,则会返回两条线条 因此,如果您想限制匹配数量,可以使用-m标记。

  

-m NUM, - max-count = NUM​​
                NUM匹配行后停止读取文件。如果输入是                 来自常规文件的标准输入和NUM匹配行                 输出,grep确保标准输入定位到                 在退出之前的最后一个匹配行之后,无论如何                 尾随上下文行的存在。                 ...