电脑技术学习

UNIX 新手指南,第 3 部分:正则表达式

dn001

[Gg]olf

  同样的概念也适用于任何字符列表——而不只是用于区分大小写。例如,您可能希望搜索 golf 和 gelf(您虚构的一种新体育运动):

g[oe]lf

  句点

  现在假设您有第三种体育运动 gilf,您也希望对其进行检查。使用您到目前为止已学到的知识,一种方法是在您的搜索条件中使用 o、e 和 i。但是随着您的搜索的逐步发展,您可能希望查找以 g 开头、以 lf 结尾并且其间具有一个字符的所有字符串。为此,您可以使用另一个特殊字符,即句点 (.)。

g.lf

  这将查找以 g 开头和以 lf 结尾并且其间具有一个字符的所有字符串。若要将您的搜索扩展到以 g 开头和以 f 结尾并且其间具有两个字符的所有字符串,您可以使用两个句点:

g..f

  使用 grep 来搜索文件

  现在您已经对正则表达式背后的概念有了基本的了解,您可以开始使用实际的示例,以便能够看到它们的实际运用。您将试验的第一个命令行应用程序是 grep。grep 的名称实际上就来自于正则表达式:g/RE/p。grep 用于在一个或多个文件中搜索特定字符串的实例。缺省情况下,grep 输出其中出现了您的搜索字符串的每一行(而不是仅输出搜索字符串)。如果您在多个文件中执行搜索,则 grep 还会输出在其中找到该行的文件名。

  使用以下文本创建一个名为 grep.txt 的文件:

I like golf.
Golf is played on grass.
I created gilf.

  grep 的基本语法如下:

grep REGULAREXPRESSION FILENAME(S)

  基本搜索

  现在,返回到前面的第一个正则表达式示例:单独的单词 golf。若要与 grep 一起使用这个表达式,可输入:

标签: