Ag / Grep 仅精确匹配搜索

Ag / Grep Exact Match Only Search

我在使用 Ag (The Silver Searcher) 时遇到问题...

文档中说使用 -Q 进行精确匹配,但我不明白为什么它对我的目的不起作用。如果我在我的终端中输入 ag -Q actionsag -Q 'actions' 之类的内容,它 return 是 actions 的所有实例,包括 transactions 之类的内容和任何其他字符串 actions 是.

的一部分

我已经尝试了文档中的其他几种标志组合,包括 -s-S,等等,但我仍然无法获得严格匹配的字符串 just actions 到 return 对我来说。

我也不能让它与 grep 一起使用。有谁知道我怎样才能用 ag 得到我需要的东西? (甚至 grep)...?

提前致谢!

因为 ag(和 grep),找到 包含 东西的文件。 ag -Q 表示将搜索解释为精确的文字字符串,而不是模糊字符串或正则表达式。好的。但是,其中包含单词“transactions”的文件包含 字面上 字符序列 actions。当然,它包含的内容也不止于此,但这并不奇怪。

可能您正在寻找分词搜索,grep '\bactions\b'ag -w -Q actions(可能 ag -w -Q -s actions)。但这与“just actions”完全不同,它是对 surrounding “actions”(即它们行的开头或结尾,或非字母字符)。你必须告诉计算机你真正的意思。