电脑技术学习

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

dn001

golf has been a fine example
let's talk about something besides golf

  请注意,对于此测试,您不应该对 golf 进行大写或加标点,因为它将演示一个针对同一单词的搜索,此搜索使用定位点在行尾或行首以不同的方式操作。若要测试行首定位点,请输入以下命令:

grep ^golf grep.txt

  输出应该类似如下:

golf has been a fine example

  若要测试行尾定位点,请使用同一个搜索,但是删除脱字符并在 golf 之后添加一个美元符号。

grep golf$ grep.txt

  使用行尾定位点的输出类似如下:

let's talk about something besides golf

  小结

  现在您已经通过在命令行上使用 grep 来学习了正则表达式的基础知识。下一步,您将学习使用 sed,此实用程序不仅搜索文本,而且还对搜索结果进行替换。首先,下面是对您到目前为止已学习过的内容的小结:

.  句点表示任何单个字符
[] 方括号包括一个字符序列
-  短横线在字符之间使用以创建一个序列(在 [] 内)
^  脱字符用于对序列(在 [] 内)取反
*  星号搜索某个搜索项的零个、一个或多个实例
?  问号搜索某个搜索项的零个或一个实例
+  加号搜索某个搜索项的一个或多个实例
$  美元符号搜索行尾
^  脱字符搜索行首
  特殊字符前的反斜杠使该字符成为普通字符(请参见下一部分。)

  使用 sed 来编辑文件

  sed 是流编辑器 (stream editor) 的简写。文本编辑器的传统、现代定义是可用于创建和编辑文本文件的交互式应用程序。sed 也是一个文本编辑器,但它是一个命令行实用程序而不是交互式实用程序,从而使之成为一个极其强大的批处理编辑工具。sed 通常在 Unix Shell 脚本中用于过滤较大的文本文件集。在本教程的第一部分中,您使用了一个讨论 golf 的小型测试文件。为了演示 sed 编辑器的高级功能,您将使用一个很小的代码片段,开发人员可能希望在批处理过程中更改该代码片段。

标签: