默认情况下,大多数搜索引擎会搜索文件或目录而不查找文件内容。但是,著名的 GNU 搜索程序 grep 可以使用正确的标志在文件中进行搜索。本文将向您展示如何在 Linux 上查找文件中的特定单词。
- 使用命令行界面在 Linux 中搜索文件和目录
- 操作每个人都必须知道的最基本文件和文件夹的 7 个命令
- 10 个著名的 Linux 文件管理器
1。使用 grep 命令查找文件中的特定单词
默认情况下,grep 搜索内容以及文件名。它适用于大多数 Linux 系统和发行版。但是,功能较弱且较小的 Linux 版本可能更喜欢运行 ack 等其他命令。
取决于文件的加密方式,grep 可能不会在文件内搜索,但对于大多数基于文本的格式,它可以扫描文件中的文本以找到指定的模式。
grep-Rw '/路径/到/搜索/'-e '模式'
-R
标志将 grep 设置为递归模式,浏览指定目录中包含的所有目录。 -w
标志搜索与命令中的条件匹配的单词。例如,单词 red 仅匹配由空格字符包围的 red。该标志提供了一种搜索模式。默认支持正则表达式。
为了加快搜索过程,您可以使用 --exclude
和 --include
标志来限制搜索到特定的文件类型。例如,--exclude=*.csv
不会搜索文件扩展名为.csv 的文件,而 --include=*.txt
只会搜索.csv 中的文件。 txt 扩展名。您可以在 grep 命令后立即添加标志,如下所示:
grep--exclude=*.csv-Rw '/路径/到/搜索'-e '模式'
或者,您可以按以下格式删除指定目录:
grep--exclude-dir={dir1, dir2, *_old}-Rw '/路径/到/搜索'-e '模式'
该命令在搜索过程中不会搜索名为dir1、dir2的目录或匹配模式*_old。它将对扫描目录中的所有其他文件执行完整的递归单词搜索。
2。使用 find 命令搜索文件中的特定单词。
虽然find命令的语法比grep复杂,但还是有一些用户喜欢用它。
这个命令会使用find的-exec
标志将找到的文件传输到grep来搜索文件中的内容。通过巧妙的语法安排,您可以使用更快的文件系统搜索工具 find 来确定要搜索的特定文件类型,然后将它们转换为 grep 以在文件中搜索。
需要注意的是 find 只查找文件名而不是文件内容。必须使用 grep 来搜索文件中的文本。 find 命令仅有助于更快地查找文件类型。
3。使用 ack 命令查找文件中的特定单词
ack 命令可以是最快的搜索引擎,但不如上面两个命令通用。下面的命令会在当前目录中搜索。
确认'模式'
如果要搜索特定的文件或目录,可以将文件或限定路径添加到搜索中。
ack '模式'/path/to/file.txt
祝大家成功!
0 评论