上下文:我想在很多源代码文件中找到一个类定义,但我不知道确切的名称.
问题:我知道必须出现在我想要找到的行上的一些单词,但我不知道它们出现的顺序.有没有一种快速的方法可以在同一行中以任何顺序查找多个单词?
对于需要搜索大量单词的情况,可以使用awk,如下所示:
awk "/word1/&&/word2/&&/word3/" *.c
Run Code Online (Sandbox Code Playgroud)
(如果您是cygwin用户,则命令为gawk.)
如果你想找到 foo、bar 和 baz,你可以这样做:
grep foo *.c | grep bar | grep baz
Run Code Online (Sandbox Code Playgroud)
这将找到任何以任意顺序包含这三者的东西。如果使用egrep,则可以使用单词边界,否则将匹配子字符串。