linux - 使用 grep 搜索包含点的字符串

标签 linux grep

我正在尝试使用命令搜索字符串 0.49(带点)

grep -r "0.49" *

但是发生的事情是我也得到了不需要的结果,其中包含 04490949 等字符串。问题是 linux 将 dot(.) 视为任何字符并显示所有结果。但我只想得到“0.49”的结果。

最佳答案

grep 使用正则表达式; . 表示正则表达式中的“任何字符”。如果您需要文字字符串,请使用 grep -Ffgrep 或将 . 转义为 \.

不要忘记将字符串用双引号括起来。否则你应该使用 \\.

所以,你的命令需要是:

grep -r "0\.49" *

grep -r 0\\.49 *

grep -Fr 0.49 *

关于linux - 使用 grep 搜索包含点的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10346816/

相关文章:

linux - 如何将远程包含添加到同步的 Eclipse 项目以进行正确的索引?

c - 如何使程序能够在 Linux 上转储核心?

linux - 如何在上传时自动合并

php - CentOS:在 PHP 安装中启用 GD 支持

grep --排除-来自 : how to include multiple files

bash - 如何在 shell 脚本中提取字符串的前两个字符?

linux - 在 Bash 中解析文件名

linux - Raspbian 中缺少 Getty 和 inittab

regex - 如何 grep 一个特定的模式

json - shell解析json并循环输出组合变量