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

时间:2012-03-12 10:22:12

标签: linux

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

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

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

问题是我无法打开每个文件并使用/

搜索该单词

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

7 个答案:

答案 0 :(得分:47)

您可以使用此命令:

grep -rn "string" *

n用于显示带文件名的行号 r用于递归

答案 1 :(得分:32)

grep是为此而做的。

使用grep myword *

然后检查man grep

答案 2 :(得分:10)

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

grep -rn '<word or regex>' <location>

做一个

man grep 

了解更多选项

答案 3 :(得分:3)

您也可以尝试以下方法。

find . -name '*.java' -exec grep "<yourword" /dev/null {} \;

它获取扩展名为.java的所有文件并在每个文件中搜索“yourword”,如果它存在,则列出该文件。

希望有所帮助:)

答案 4 :(得分:3)

您可以按照以下方式与exec联系,以获取文件列表以及您要查找的单词/字符串的出现

find . -exec grep "my word" '{}' \; -print

答案 5 :(得分:2)

使用此命令 grep "your word" searchDirectory/*.log

在此链接上获取更多信息

http://www.cyberciti.biz/faq/howto-recursively-search-all-files-for-words/

答案 6 :(得分:1)

您正在寻找grep命令。

您可以阅读15 Practical Grep Command Examples In Linux / UNIX部分样本。