Linux:在目录下的文件列表中搜索特定单词
我在特定目录中有一个很大的日志文件列表,与Linux远程服务器下的java应用程序相关 当我在特定目录上执行ls时,它会显示一个文件列表(近100个文件) 现在在那个文件列表中,我需要找出一个特定的单词,请告诉我,我怎么做 问题是我无法打开每个文件并使用/ 请告诉我如何在提供的文件列表中搜索单词 您正在寻找命令Linux:在目录下的文件列表中搜索特定单词,linux,Linux,我在特定目录中有一个很大的日志文件列表,与Linux远程服务器下的java应用程序相关 当我在特定目录上执行ls时,它会显示一个文件列表(近100个文件) 现在在那个文件列表中,我需要找出一个特定的单词,请告诉我,我怎么做 问题是我无法打开每个文件并使用/ 请告诉我如何在提供的文件列表中搜索单词 您正在寻找命令 您可以阅读一些示例。grep就是为此而制作的 使用grep myword* 并检查mangrep这在linux中是一项非常频繁的任务。我使用grep-rn“”。一直在做这件事-r代表递归
您可以阅读一些示例。
grep
就是为此而制作的
使用grep myword*
并检查
mangrep
这在linux中是一项非常频繁的任务。我使用grep-rn“”。一直在做这件事-r代表递归(文件夹和子文件夹)-n所以它给出行号,点代表当前目录
grep -rn '<word or regex>' <location>
有关更多选项,您也可以尝试以下方法
find . -name '*.java' -exec grep "<yourword" /dev/null {} \;
find-名称“*.java'-exec grep”您可以使用以下命令:
grep -rn "string" *
n用于显示带有文件名的行号
r对于recursive您可以使用exec找到如下内容,以获取文件列表以及您要查找的单词/字符串的出现情况
find . -exec grep "my word" '{}' \; -print
使用此命令
grep“your word”searchDirectory/*.log
获取更多有关此链接的信息
可能的重复我的意思是,不完全重复,但答案也在那里,可以在相关问题中轻松找到。@cgnorthcutt不太可能。对于子目录,您需要使用递归标志。对于已经存在的“目录”,如OP案例,您不需要。此外,-n
标志是完全可选的,没有与“youneedto”关联的内容。要包含子目录,需要使用递归标志“-r”,如grep-r“string”*
参见Ashkan的答案。以及cornuz的评论。
find . -exec grep "my word" '{}' \; -print