在我的项目中,我正在尝试匹配包含“/ baz”的文件。所以,我做了以下几点:
grep -rnw . -e "\/baz"
输出正确匹配以下实例:
import { baz } from './baz';
但它似乎与这一行不匹配:
import { baz } from './foo/bar/baz';
然而,如果我在"bar\/baz"
上grep,它确实匹配。发生了什么事?
答案 0 :(得分:1)
从您的-w
电话中删除grep
参数。来自grep
帮助:
-w, - word-regexp强制PATTERN仅匹配整个单词
因此,只有当它是一个完整的单词时才会匹配你的模式(由单词边界包围,如点,空格,行的开头/结尾......)
答案 1 :(得分:1)
你需要
grep -rn . -e "\/baz"
没有word
标志。否则,表达式将查找在第二个示例中找不到的字边界。