使用grep来search一个有点的string
我正在尝试使用该命令searchstring0.49
(带点)
grep -r "0.49" *
但是,发生的是,我也得到不想要的结果,其中包含string,如0949
等。 这个东西是linux考虑点(。)作为任何字符,并带出所有的结果。 但是我只想得到“0.49”的结果。
grep
使用正则expression式; .
意思是正则expression式中的“任何字符”。 如果你想要一个string,使用grep -F
, fgrep
或者转义.
到\.
。
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"