Linux:在目录下的文件列表中搜索特定单词

Paw*_*wan 33 linux

我在特定目录中有一个很大的日志文件列表,与我的Linux远程服务器下的java应用程序相关.

当我在该特定目录上执行ls时,它会显示一个文件列表(近100个文件)

现在在文件列表中,我需要找出一个特定的单词,请告诉我,我该怎么做?

问题是我无法打开每个文件并使用/搜索该单词

请告诉我如何在提供的文件列表中搜索单词.

Ash*_*kan 49

您可以使用此命令:

grep -rn "string" *
Run Code Online (Sandbox Code Playgroud)

n用于显示行号,文件名为r,用于递归


cor*_*nuz 35

grep 就是这样做的.

使用 grep myword *

并检查man grep.

  • 要包含子目录,您需要使用递归标志“-r”,例如 `grep -r "string" *` 参见 Ashkan 的回答。和cornuz的评论。 (3认同)

joi*_*egn 11

这是linux中非常频繁的任务.我用grep -rn''.所有的时间都这样做.-r用于递归(文件夹和子文件夹)-n所以它给出行号,这个点代表当前目录.

grep -rn '<word or regex>' <location>
Run Code Online (Sandbox Code Playgroud)

做一个

man grep 
Run Code Online (Sandbox Code Playgroud)

了解更多选择


Who*_*ami 5

您也可以尝试以下方法。

find . -name '*.java' -exec grep "<yourword" /dev/null {} \;
Run Code Online (Sandbox Code Playgroud)

它获取所有扩展名为.java的文件,并在每个文件中搜索“您的单词”(如果显示),并列出该文件。

希望能帮助到你 :)