Grep正则表达式以任何顺序查找单词

Fac*_*sco 4 regex grep

上下文:我想在很多源代码文件中找到一个类定义,但我不知道确切的名称.

问题:我知道必须出现在我想要找到的行上的一些单词,但我不知道它们出现的顺序.有没有一种快速的方法可以在同一行中以任何顺序查找多个单词?

Chr*_*Noe 5

对于需要搜索大量单词的情况,可以使用awk,如下所示:

awk "/word1/&&/word2/&&/word3/" *.c
Run Code Online (Sandbox Code Playgroud)

(如果您是cygwin用户,则命令为gawk.)


Dav*_*Orr 1

如果你想找到 foo、bar 和 baz,你可以这样做:

grep foo *.c | grep bar | grep baz
Run Code Online (Sandbox Code Playgroud)

这将找到任何以任意顺序包含这三者的东西。如果使用egrep,则可以使用单词边界,否则将匹配子字符串。