使用grep来search一个有点的string

我正在尝试使用该命令searchstring0.49 (带点)

 grep -r "0.49" * 

但是,发生的是,我也得到不想要的结果,其中包含string,如0949等。 这个东西是linux考虑点(。)作为任何字符,并带出所有的结果。 但是我只想得到“0.49”的结果。

grep使用正则expression式; . 意思是正则expression式中的“任何字符”。 如果你想要一个string,使用grep -Ffgrep或者转义.\.

grep -F -r '0.49' *将0.49作为“固定”string而不是正则expression式。 这使得. 失去其特殊的意义。

你需要逃避."0\.49"

A。 是一个匹配任何字符(除了换行符)的正则expression式元字符。 要匹配一个文字时期,你需要逃避它。

刚刚逃脱.

grep -r "0\.49"

你可以使用\

例如。 grep -r“0 \ .49”

转义点。 示例命令将会。

 grep '0\.00' 

您也可以使用“[。]”

 grep -r "0[.]49"