Tienes que escapar del . (punto) ya que por defecto coincide con cualquier carácter, y especifique -w para que coincida con una palabra específica, por ejemplo,
grep -w -l "BML\.I" *
Tenga en cuenta que hay dos niveles de escape en lo anterior. Las comillas aseguran que el shell pase BML\.I
a grep. El \
luego escapa del punto para grep
. Si omite las comillas, el shell interpreta el \
como un escape para el período (y simplemente pasaría el período sin escape a grep
)
prueba grep -wF
de la página man:
-w, --word-regexp
Select only those lines containing matches that form whole words. The
test is that the matching substring must either be at the beginning of
the line, or preceded by a non-word constituent character. Similarly, it
must be either at the end of the line or followed by a non-word
constituent character. Word-constituent characters are letters, digits,
and the underscore.
-F, --fixed-strings
Interpret PATTERN as a list of fixed strings, separated by newlines, any
of which is to be matched. (-F is specified by POSIX.)