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

12

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

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

2个回答

31

您需要在要搜索的文件上拥有阅读权限。如果已经具备这些权限,那么可以直接使用

grep -r "foo" /home/thisuser/bar/baz/*

在特定文件夹中搜索或

grep "foo" /home/thisuser/bar/baz/somefile.txt

如果您需要在特定文件中搜索,比如说 "somefile.txt" 文件。基本的语法是:

grep [options] [searched string] [path]
// -r is an option which states that it will use recursive search

另一个有用的选项是“-n”,可以显示字符串位于哪个文件的哪一行,“-i”可以忽略大小写,“-s”可以抑制一些消息,例如“无法读取文件”或“未找到”,“-I”可以忽略二进制文件。

如果您使用

grep -rnisI "foo" /home/thisuser/bar/baz/*

您将准确地知道应该去哪里查看。


0

使用

grep -r "foo" /home/thisuser/bar/baz/

6
你有没有看过我直接回答这个问题的答案? - Dropout

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接