我在特定目录中有一个很大的日志文件列表,与我的Linux远程服务器下的java应用程序相关。
当我在该特定目录上执行时,它会显示一个文件列表(近100个文件)
现在在文件列表中,我需要找出一个特定的单词,请告诉我,我该怎么办?
问题是我无法打开每个文件并使用/
搜索该单词请告诉我如何在提供的文件列表中搜索单词。
答案 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部分样本。