当前位置: 首页>>技术教程>>正文


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

问题描述

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

最佳方法

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

  1. locate {part_of_word}这假定您的locate-database是最新的,但是您可以使用以下方式手动更新:sudo updatedb

  2. grep,如dr_willis所述。备注:grep之后的-R也在目录中搜索。例:

    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是其中最复杂但也是用途最多的一种,因为您可以使用正则表达式。

次佳方法

grep -R “what” “where”

例:

grep -R hello /home

第三种方法

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

第四种方法

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

grep -Ril word directory

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

使用man grep获取所有选项

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11512.html,未经允许,请勿转载。