How to grep for the exact word if the string has got dot in it

前端 未结 4 1431
不思量自难忘°
不思量自难忘° 2021-02-14 03:52

I was trying to search for a particular word BML.I in a current directory.

When I tried with the below command:

grep -l  \"BML.I\" *
         


        
4条回答
  •  谎友^
    谎友^ (楼主)
    2021-02-14 04:39

    You need to escape the . (period) since by default it matches against any character, and specify -w to match a specific word e.g.

    grep -w -l "BML\.I" *
    

    Note there are two levels of escaping in the above. The quotes ensure that the shell passes BML\.I to grep. The \ then escapes the period for grep. If you omit the quotes, then the shell interprets the \ as an escape for the period (and would simply pass the unescaped period to grep)

提交回复
热议问题