我正在尝试0.49
使用以下命令搜索字符串(带点)
grep -r "0.49" *
但是,什么情况是,我也越来越其中包含字符串不想要的结果,例如0449
,0949
等等,。问题是linux将dot(。)视为任何字符并得出所有结果。但是我只想得到“
0.49”的结果。
grep
使用正则表达式;.
在正则表达式中表示“任何字符”。如果你想有一个文本字符串,使用grep -F
,fgrep
或逃避.
到\.
。
不要忘记将字符串用双引号引起来。否则你应该使用\\.
因此,您的命令将需要是:
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字符。默认