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 编辑器的高级功能,您将使用一个很小的代码片段,开发人员可能希望在批处理过程中更改该代码片段。
标签: