Answers:
grep
使用正则表达式;.
在正则表达式中表示“任何字符”。如果你想有一个文本字符串,使用grep -F
,fgrep
或逃避.
到\.
。
不要忘记将字符串用双引号引起来。否则你应该使用\\.
因此,您的命令将需要是:
grep -r "0\.49" *
要么
grep -r 0\\.49 *
要么
grep -Fr 0.49 *
\\.
bash,或者使用bash "\."
将其转出外壳。
这里有这么多的答案建议用点来逃脱,\.
但是我已经一遍又一遍地遇到这个问题:\.
给我的结果与.
但是,以下两个表达式对我有用:
$ grep -r 0\\.49 *
和:
$ grep -r 0[.]49 *
我在Ubuntu和Archlinux上使用的是“普通” bash shell。
grep '\.'
或grep \\.
(我强烈建议使用前者。双引号也可以使用,就像在原始问题中一样;但是单引号更易于理解和使用。例如,对于双引号,在某些情况下,您仍然需要将反斜杠加倍)。
\\.
才能起作用。我正在使用zsh。