我正在尝试0.49使用该命令搜索字符串(带点)
grep -r "0.49" *
Run Code Online (Sandbox Code Playgroud)
但是,什么情况是,我也越来越其中包含字符串,如不想要的结果0449,0949等等,.事情是linux,考虑点(.)作为任何字符,并带出所有结果.但我想得到的结果仅为"0.49".
gee*_*aur 202
grep使用正则表达式; .是指正则表达式中的"任何字符".如果你想有一个文本字符串,使用grep -F,fgrep或逃避.到\..
这里有这么多的答案,提示逃生用点\.,但我一直在一遍又一遍地运行到这个问题:\.给我的结果相同.
但是,这两个表达式对我有用:
$ grep -r 0\\.49 *
Run Code Online (Sandbox Code Playgroud)
和:
$ grep -r 0[.]49 *
Run Code Online (Sandbox Code Playgroud)
我在 Ubuntu 和 Archlinux 上使用“普通”的 bash shell。
编辑,或者,根据评论:
$ grep -r '0\.49' *
Run Code Online (Sandbox Code Playgroud)
请注意,单引号在这里有所不同。