如何使用grep -e匹配部分单词?

时间:2017-11-13 09:53:10

标签: linux bash grep

如果你使用像

这样的grep
grep -rnw '/your/path/to/search/' -e 'n getFoo'

grep找不到包含"函数getFoo()"的文件。

如果您只搜索' getFoo'或者'函数getFoo',grep将找到包含该函数的文件。

那么找到包含字符串部分的文件的最佳方法是什么?

提前致谢!

2 个答案:

答案 0 :(得分:7)

你应该删除-w选项,它告诉grep只匹配整个单词。

grep -rn '/your/path/to/search/' -e 'n getFoo'

也会在字边界之间进行搜索。

答案 1 :(得分:1)

-w标志会导致整个单词匹配,因此它显然是您不需要的。

  

那么找到包含字符串部分的文件的最佳方法是什么?

shopt -s globstar
grep -li 'string to search for' /path/to/search/**
shopt -u globstar