如何搜索包含特定单词的文件?


37

如何搜索包含特定单词的文件?


5
您实际上是指其中包含特定单词的搜索文件NAMES吗?即:名称中带有FUN的所有文件FUN_time.txt FUN_stuff.txt还是在文件中搜索特定的单词?
dr_willis 2011年

Answers:


51

使用命令行,您有几个选择。我最常使用的3个是...

  1. locate {part_of_word}

    这假定您的定位数据库是最新的,但是您可以使用以下方法手动更新它: sudo updatedb

  2. grep如dr_willis所解释。一句话:在目录-Rgrep也进行搜索。例:

    cd\
    grep -R {something_to_look_for} {where_to_look_in}
    
  3. find . -name '*{part_of_word}*' -print

哪里.是您身在何处的时刻,该目录*是一个通配符。

哦,您也可以将它们组合在一起。例: locate {something}|grep {some_part_of_something}|more

如果我没记错的话:locate是最快的一个(假设您的数据库是最新的),find也是最慢的一个。而且grep是最复杂的,但也是最多才多艺的这些,因为你可以使用正则表达式之一。



4

grep命令通常用于此目的。

grep PATTERN文件名

grep可以执行一些非常复杂的搜索。

willis@Cow:~$ grep --help
Usage: grep [OPTION]... PATTERN [FILE]...
Search for PATTERN in each FILE or standard input.
PATTERN is, by default, a basic regular expression (BRE).
Example: grep -i 'hello world' menu.h main.c

3
或者您可以执行“ rgrep word”。递归地在每个文件和子目录中搜索“单词”
Jeremy Bicha'5

4

您可以grep用来列出word给定中包含的文件directory

grep -Ril word directory

此处:
* -R递归搜索子目录中的文件。
* -i忽略文本大小写
* -l显示文件名而不是文件内容部分。(注意:-L显示不包含单词的文件名)。

用于man grep获取所有选项


3
正如您所知:-i执行不区分大小写的搜索。
大卫·佛斯特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.