我如何使用grep在文件夹中查找单词?

在Windows中,我会搜索在文件夹中查找单词。 同样,我想知道一个特定的单词是否出现在包含许多子目录和文件的目录中。 我对grep语法的搜索显示我必须指定文件名,即grep string filename

现在,我不知道文件名,所以我该怎么办? 一位朋友建议做grep -nr string ,但我不知道这意味着什么,我没有得到任何结果(直到我发出ctrl + c时才有响应)。


grep -nr 'yourString*' .

最后的点搜索当前目录。 每个参数的含义:

-n            Show relative line number in the file
'yourString*' String for search, followed by a wildcard character
-r            Recursively search subdirectories listed
.             Directory for search (current directory)

grep -nr 'MobileAppSer*' . (可以找到MobileAppServlet.javaMobileAppServlet.classMobileAppServlet.txt ; 'MobileAppASer*.*'是另一种做同样事情的方法。)

要检查更多参数,请使用man grep命令。


grep -nr string my_directory

附加说明:这符合语法grep [options] string filename因为在类Unix系统中,目录是一种文件(有一个术语“常规文件”来专指在Windows中被称为“文件”的实体)。

grep -nr string从标准输入中读取要搜索的内容,这就是为什么它只是在那里等待输入,并在按^ C时停止这样做(它也停止在^ D上,这是组合键用于文件结束)。


GREP :全球正则表达式打印/解析器/处理器/程序。
您可以使用它来搜索当前目录。
您可以指定-R作为“递归”,这意味着程序会搜索所有子文件夹及其子文件夹及其子文件夹的子文件夹等。

grep -R "your word" .

-n将打印行号,它在文件中匹配。
-i将搜索不区分大小写的(大写/非大写字母)。

grep -inR "your regex pattern" .
链接地址: http://www.djcxy.com/p/19661.html

上一篇: How can I use grep to find a word inside a folder?

下一篇: Exclude .svn directories from grep