许多Linux grep命令的面孔

不停地用grep命令可以改变其性格的翻转切换到帮助你找到的东西。

  • 在Facebook上分享
  • 在Twitter上分享
  • 分享在LinkedIn
  • 在Reddit分享
  • 通过电子邮件分享
  • 印刷资源
space_telescope
喷气推进实验室/ IDG

grep命令,可能前十的一个命令,每个Unix用户知道和爱——不仅仅是一个很好的工具寻找一个词或短语在一个文件或命令输出。它可以承担一些截然不同的个性,让你更巧妙地找到你要找的数据,比许多用户发现了更大的灵活性。

历史上作为单独的二进制文件,提供不同的“味道”的grep现在提供一些关键命令选项改变grep解释你提供搜索的模式。轻松地搜索切换从一个模式到另一个地方,可以设置不同的grep命令别名如:

别名egrep = ' grep - e '别名fgrep plgrep = =“grep - f”别名“grep - p”

egrep

如果你使用egrepfgrep在过去,你会发现grep - egrep - f正如你所期望的工作。他们只是建立在一个可执行文件在今天大多数系统。因此,您可以使用选项或设置别名使用更简单。

- e开关,grep使用扩展正则表达式。这意味着您可以提供一个你想匹配的字符串的表达式,如以下示例所示。

egrep美元“绿色黄色| |紫色”颜色32 =绿色35 =紫色背景42 =绿色背景45 = 92 =紫色光绿色黄色93 = 95 = 102 =浅绿色背景103 = 105 =黄色背景浅紫色背景

fgrep

与- f, grep解释模式提供固定的字符串。这意味着它不存在解释任何您指定的表达式,但是需要他们。美元在下面的命令,例如,不是作为表明某种解释是必要的。由于这种拘泥于字句,fgreg(即。,grep - f) commands tend to run a little faster than oither grep commands.

猫三美元。txt andra美元sandra slee $ grep -F '$andra' txt.txt $andra

从文件模式

这里有一个选项,提供了一些有趣的好处。你也可以把一系列字符串字面量在一个文件中,寻找它们都使用一个命令如下的示例。

说我们有一个颜色在一个文件列表:

美元猫colorlist绿橙紫

当我们想选择另一个文件的所有行包含这些颜色名称。

fgrep - f colorlist颜色32美元=绿色35 = 33 =橙紫色42 =绿色背景43 =橙色背景45 =紫色背景92 =浅绿色95 =浅紫色102 = 105 =浅紫色使用浅绿色背景

- f论点告诉grep获取其模式而不是从命令行指定的文件。

请注意,我们可以运行这个命令没有- f选择。选择取决于您正在寻找,尽管使用- f提供了一个轻微的性能提升,没有缺点,当你正在寻找straighht文本。

plgrep

另一个选择,你会发现新的grep实现- p这解释模式提供一个Perl的正则表达式。我叫它plgrep(为了避免混淆与pgrep)。在下面的示例中,您可以看到,我们只匹配颜色名称,包括三个部分的颜色名称。

美元pgrep ' = \ S + \ \ S + \年代的颜色100 =深灰色背景101 =光红色背景102 =蓝色背景光绿色背景104 = 105 =浅紫色背景

grep的上下文

另一个非常方便的grep命令使用- a(后)和- b(前)开关为你提供一些背景位于字符串。别名显示你发现线与线出现之前和之后的文件可能看起来像这样。我称之为“cxgrep”上下文grep并保持与grep的混淆- c开关。

别名cxgrep = ' grep - b 1——1 '

这里有一个例子与颜色文件:

美元cgrep紫色36个颜色34 =蓝色35 = =青色蓝色背景——44 = 45 =紫色背景46 =青色背景——94 =浅蓝色95 =浅紫色96 =绿松石- 104 =淡蓝色背景105 = 106 =浅紫色背景青绿色背景

grep不

只看到这些线的选项包含特定字符串也可以像一个别名。虽然这是开关- v,我就会称之为“xgrep”强调它不包括指定的文本。

别名xgrep——“grep - v”

这里的输出是什么样子当我们忽略行包含“bakground”:

xgrep背景颜色美元0 =默认颜色大胆1 = 4 =强调5 =闪烁文字7 =反向场31 =红32 =绿色35 = 33 =橙色34 =蓝色紫色灰色=青色37 = 90 =深灰色91 =黄色绿色光红92 = 93 = 94 =浅蓝色95 =浅紫色96 =绿松石

cgrep

您还可以使用grep计算行数出现在你的模式。注意它数超过每行一个外观。

grep - c紫色颜色4美元

在每一行只显示最后一个词

grep - p ' \ S + $ $ grep - p - o颜色\年代+ $ - o颜色排序| | uniq背景蓝色大胆的色彩青色领域绿色灰色橙色紫色红色文本绿松石突显出黄色

在文件中的位置

131年$ grep - o - b紫色颜色:紫色271:紫色417:紫色586:紫色

的结合- o(即。,only) and the- b(字节位置)选项结果在我们只看到单词“紫色”的位置,但他们出现在的描述。如果我们在寻找数据对整个线路,我们省略了- o看看是这样的:

126:35 =紫色背景406:95 266:45 = =浅紫色574:105 =浅紫色背景

而老grep“家庭”提供了非常有用的grep功能,一大群grep别名可以帮助你利用的许多命令强大的选项快速高效地完成工作。

版权©2017 IDG通信公司。足球竞彩网下载

企业网络2022的10个最强大的公司