当前位置: 首页 > 面试题库 >

使用grep搜索其中包含点的字符串

别烨熠
2023-03-14
问题内容

我正在尝试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 *


 类似资料:
  • 我将正则表达式模式的列表传递给以对照syslog文件进行检查。它们通常匹配IP地址和日志条目; 它只是一个模式列表,例如我正在循环中传递的部分,因此我不能传递“-v”。 更新:这发生在像这样的脚本中;

  • 我试图在ElasticSearch中运行类似的字段查询:

  • 问题内容: 如何在上面的数组中松散搜索“ Last”一词? 上面的代码仅在指针与值中的所有内容完全匹配时才回显值的键,这是我不想要的。我想要这样的东西: 如果值包含单词“ Last”,我希望值的键回显。 问题答案: 要查找符合搜索条件的值,可以使用函数: 现在,数组将仅包含原始数组中包含单词 last (不区分大小写)的元素。 如果需要查找与条件匹配的值的键,则需要遍历数组: 现在,数组包含原始数

  • 问题内容: 我正在尝试在ElasticSearch中运行类似的字段查询: 意思是我正在尝试查找所有文档,其中产品名称在这种情况下是’milk’的子字符串。 我该怎么做? 问题答案: 我会使用一个使用ngrams的自定义分析器。首先创建一个像这样的索引: 然后,您可以索引一些数据: 最后,您可以像这样搜索: 然后您将获得前两个文档,

  • 问题内容: 我想在Linux上搜索包含grep的dos行结尾的文件。像这样: 上面的似乎与原义相符,这不是所希望的。 这样的输出将通过xargs传递到todos,以将crlf转换为lf,如下所示 问题答案: 使用+ ,+ 在grep字符串中输入文字的回车符。所以: 将有效-如果您按照我的建议输入了文字CR。 如果需要文件列表,则也要添加该选项。 说明 忽略二进制文件 防止grep剥离CR字符。默认