Grep精确匹配

时间:2015-05-18 12:26:51

标签: grep

File1中:

Btr_0449a   447
Btr_0449    447

期望的输出:

Btr_0449    447

我希望grep找到'Btr_0449',而不是'Btr_0449a'。从那以后我似乎做错了什么:

grep -F "Btr_0449"

Btr_0449a   447
Btr_0449    447

2 个答案:

答案 0 :(得分:3)

这应该这样做:

grep -Fw "Btr_0449"

来自grep联机帮助页:

" -w仅选择包含构成整个单词的匹配项的行。 "

答案 1 :(得分:1)

如果你坚持使用' -F'标志,然后在你的字符串后添加一个空格。

grep -F "Btr_0449 "

对于将来,如果您使用正则表达式模式,您将获得更好的结果,因此对于上述查询,您可以这样做:

grep -e "Btr_0449\s"

...它将匹配您的字符串,后跟任何空格字符(空格,制表符,换行符,回车符......)