如何在 Linux 中的文件中查找文本
对于系统管理员来说,使用文本文件是一种常见现象。也许需要从成堆的日志文件中找到特定的部分来排除故障?或者,需要快速找到包含重要信息的文档?
对于 Linux,有多种方法可以在文件中查找文本。可以使用内置工具和第三方应用程序。查看如何在 Linux 中的文件中查找文本。
在文件中查找文本
根据您必须执行搜索的文件数量,有两种方法可以执行文本搜索:自动或手动。如果您必须使用几个文本文件,则手动搜索更合适。但是,如果有数百个文本文件,那么自动搜索是最有效的。
对于自动搜索,我们将使用 grep。 Grep 预装在任何 Linux 发行版上。至于手动搜索,任何现代文本编辑器都可以完成这项工作。
使用 grep 在文件中查找文本
在 Linux 中,grep 是搜索文本的默认工具。它的名称源自 ed 命令 g/re/p,代表“全局搜索正则表达式并打印匹配行”。 “它可以在任何现代 Linux 发行版上使用。
Grep 是一个命令行工具。其命令结构如下。
正如 grep 的名称所示,要搜索的模式是使用正则表达式来描述的。正则表达式是一种特殊类型的字符串,它描述了要匹配、定位和管理的模式。要了解有关 grep 和正则表达式的更多信息,请查看使用 grep 和 egrep 与正则表达式。
出于演示目的,请获取示例文本文件。在此示例中,下载 GNU 通用公共许可证 v3.0 文本文件。
基本搜索
使用 grep 的基本方法是搜索基本字符串。
看一下下面的 grep 命令。它将在文本文件中搜索单词“GNU”。
要显示行号,请使用“-n”标志。
要使用 grep 执行不区分大小写的搜索,请使用“-i”标志。
在某些情况下,您可能不想看到搜索匹配项,而只想看到匹配项的文件名。要仅打印文件名,请使用“-l”标志。这里,星号表示使用当前目录下的所有文本文件。
我们还可以将其他命令的输出通过管道传递给 grep。
正则表达式
正则表达式提供了一种微调搜索的智能方法。它有自己的规则。然而,不同的应用程序和编程语言以不同的方式实现正则表达式。以下是一些可以与 grep 一起使用的示例。
要定义在行首找到该字符串,请使用插入符号 (^)。
要定义在行尾查找字符串,请使用美元符号 ($)。
要描述模式的某个位置可以有任何字符,请使用句点字符 (.)。例如,如果“G”和“U”之间有任何字符,则表达式“G.U”有效。
要描述模式的特定位置可以有字符子集,请使用方括号 ([])。例如,表达式“t[wo]o”表示匹配仅对“two”和“too”有效。
扩展正则表达式
顾名思义,扩展正则表达式可以比基本正则表达式做更复杂的事情。要在 grep 中使用扩展正则表达式,您必须使用“-E”标志。
要搜索两个不同的字符串,请使用 OR 运算符 (|)。
在文件中查找文本
现在是主要部分。 grep 可以自动执行搜索,而不是手动告诉 grep 要执行搜索的文件。在以下命令中,grep 将使用当前目录中的所有可用文本文件来搜索模式。
如果你想 grep 在不同的目录上执行搜索,那么你必须指定位置。
如果有文件夹,grep 默认情况下不会探索它们。要告诉 grep 递归搜索,请使用“-R”标志。
图形用户界面
如果您更喜欢使用 GUI,但仍想享受 grep 的功能,那么请查看 searchmonkey。它是 grep 的前端解决方案。几乎所有主要的 Linux 发行版都提供该软件包。
使用 nano 在文件中查找文本
GNU Nano 是任何 Linux 发行版都附带的简单而强大的文本编辑器。它具有在文本文件中搜索文本的内置功能。
请注意,在此方法中,您必须打开文本文件并手动搜索。如果只有少数文本文件可供使用,这是可行的。如果有更多,那么使用 grep 是最佳选择。
在nano中打开文本文件。
要搜索字符串匹配项,请按“Ctrl + W”。输入要搜索的字符串后,按“Enter”。
使用 Vim 在文件中查找文本
Vim 是一款著名的文本编辑器。它相当于现代文本编辑器的命令行。 Vim 具有许多高级功能,如插件、宏、自动完成、过滤器等。
与 nano 类似,Vim 一次处理一个文件。如果您有多个文本文件,那么使用 grep 是最好的方法。
要在文本文件中搜索,首先在 Vim 中打开它。
输入以下 Vim 命令并按“Enter”。
使用 GNOME 文本编辑器在文件中查找文本
GNOME 文本编辑器是 GNOME 桌面附带的文本编辑器。这是一个简单的文本编辑器,具有您期望的所有基本功能。它是命令行文本编辑器的一个很好的替代品。
与nano和vim类似,同样的注意事项也适用于这种方法。如果文本文件的数量很大,那么你最好坚持使用 grep。
在文本编辑器中打开文本文件。按“Ctrl + F”调出搜索栏。
使用 VS Code 在文件中查找文本
Visual Studio Code 是一个功能强大的文本编辑器,具有大量功能。它针对程序员的使用进行了优化,就像它是一个成熟的 IDE 一样。几乎所有主要的 Linux 发行版都可以使用它。
安装 Visual Studio Code 管理单元包。
在 VS Code 中打开文本文件。按“Ctrl + F”开始搜索。
最后的想法
有多种方法可以搜索文件中的文本。这是一项容易掌握的任务。强烈建议掌握 grep 命令,因为它在效率和易用性方面提供了最大的价值。
如果您更喜欢 GUI,那么有许多文本编辑器可供选择。任何现代文本编辑器都会提供文本搜索选项。
快乐计算!