从终端在纯文本中搜索字符串或模式

关于搜索字符串或模式

在下面的文章中,我们将看到一些 用于在文本文件中查找匹配的字符串或模式的命令行工具。 这些工具通常与正则表达式结合使用,缩写​​为 正则表达式,这是描述搜索模式的唯一字符串。

正则表达式是用于在文本字符串中查找字符的特定组合的模式。 正则表达式提供了一种非常灵活的方式来搜索或识别文本字符串。 尽管在以下几行中我们将看不到正则表达式,但我们将使用模式或字符串。

从终端搜索字符串或模式

Grep命令

Grep是的首字母缩写 全局正则表达式打印。 这是一个功能强大的命令行工具,在文件中查找特定的字符串或模式时非常有用。 与grep 我们将能够使用多种功能,例如同事在不久前在此博客中向我们解释的功能。

使用grep命令的语法非常简单:

grep PATRON [RUTA AL ARCHIVO]

例如,要搜索字符串“Ubuntu'在本例中我们将调用的文件中 text.txt,不考虑大小写的区别,在终端(Ctrl + Alt + T)中,我们只需要执行以下命令:

grep -i文字

grep -i Ubuntu texto.txt

命令sed

口渴的简称 流编辑器。 对于终端,这是另一个有用的工具,我们可以使用该工具来处理文件中的文本。 sed搜索,过滤和替换给定文件中的字符串.

sed命令默认情况下将输出打印在 标准输出 (标准输出)。 这意味着执行结果将打印到终端,而不是保存到文件。

Sed命令可以按如下方式使用:

sed -OPCIONES COMANDO [RUTA AL ARCHIVO]

例如,要替换所有出现的“Linux“在文字中”GnuLinux的',将使用以下命令:

命令sed

sed 's/Linux/GnuLinux/g' texto.txt

如果我们正在寻找的是 将输出重定向到文件,而不是将其打印到终端,我们将使用重定向符号,如下所示:

sed 's/Linux/GnuLinux/g' texto.txt > salida.txt

命令的输出保存在文件中 output.txt 而不是在屏幕上打印。

sed命令输出

要查看更多选项,您可以 查阅手册页:

口渴的人

man sed

阿克

Ack是用Perl编写的快速命令行工具。 它被认为是grep实用程序的友好替代品,这也以视觉上吸引人的方式生成结果。

安装确认 在我们的系统中,我们将必须在终端中执行(Ctrl + Alt + T):

安装确认

sudo apt install ack

命令 Ack在文件或目录中搜索包含与搜索条件匹配的行。 然后突出显示相应的字符串。 此工具具有根据文件扩展名区分文件的功能。

Ack命令的语法如下所示

ack [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

例如,搜索词 Linux 在文件中,我们将必须执行:

命令确认搜索

ack Linux texto.txt

搜索工具非常聪明, 如果用户不提供任何文件或目录,它将在当前目录和子目录中搜索搜索模式.

在以下示例中,没有提供文件或目录。 Ack自动检测目录中的可用文件并查找匹配的模式:

没有文件的ack搜索

ack Linux

里普格普

里普格普 是用于搜索正则表达式模式的跨平台实用程序。 它比上面提到的所有搜索工具都快,并且它以递归方式搜索目录中的匹配模式。 它还允许您搜索特定的文件类型。 默认情况下,ripgrep将跳过二进制文件和隐藏的文件/目录。

安装ripgrep 在系统上,您所要做的就是在终端中运行以下命令(Ctrl + Alt + T):

ripgrep安装

sudo apt install ripgrep

使用ripgrep的语法非常简单:

rg [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

如果我们要搜索链“Linux在当前目录内的文件中,我们只需执行以下命令:

曼rg linux

rg Linux

要查看更多选项,用户可以使用 手册页:

曼·罗格

man rg

银牌搜寻者

安装此工具在Ubuntu中,我们只需要打开一个终端(Ctrl + Alt + T)并编写以下命令:

silversearcher-ag安装

sudo apt install silversearcher-ag

Silver Searcher是类似于ack的跨平台,开放源代码搜索工具,但着重于速度。 它使您可以在最短的时间内轻松找到文件中的特定字符串。 使用的语法为:

ag OPCIONES PATRÓN_DE_BÚSQUEDA /ruta/al/archivo

例如,搜索“Linux文件中的“ text.txt,我们将不得不在终端中输入内容(Ctrl + Alt + T):

用silversearcher搜索

ag Linux texto.txt

要查看更多选项,我们可以咨询 手册页:

男士Silversearcher

man ag

这些只是在Linux中用于搜索,过滤和处理文本的一些最常用的命令行工具。


成为第一个发表评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。