在Linux上搜索多个文件中的字符串

Dro*_*out 5 linux search grep

如何在多个文件或文件夹中搜索纯文本文件中的字符串?

例如,我需要在文件夹"/ home/thisuser/bar/baz /"中的所有文件中找到字符串"foo"

Dro*_*out 15

您需要对要搜索的文件具有读取权限.如果您有,则只需使用

grep -r "foo" /home/thisuser/bar/baz/*
Run Code Online (Sandbox Code Playgroud)

在某个文件夹中搜索或

grep "foo" /home/thisuser/bar/baz/somefile.txt
Run Code Online (Sandbox Code Playgroud)

如果您需要搜索特定文件,在本例中为"somefile.txt".基本上语法是

grep [options] [searched string] [path]
// -r is an option which states that it will use recursive search
Run Code Online (Sandbox Code Playgroud)

另一个有用的选项是"-n"来显示字符串所在的文件行,"-i"忽略大小写," - s"来抑制某些消息,如"无法读取文件"或"未找到"和"-I"忽略二进制文件.

如果你使用

grep -rnisI "foo" /home/thisuser/bar/baz/*
Run Code Online (Sandbox Code Playgroud)

你会确切地知道在哪里看.