正则表达式
正则表达式是一个字符串,旨在用于搜索或替换另一个字符串。初看起来,这似乎是一个相当基本的功能。大多数用户都熟悉几乎每个图形文本编辑器或字处理应用程序中都有的搜索和替换功能。如果将这个基本的搜索和替换功能比作计算器,则正则表达式可比作全功能的计算机。将正则表达式用于搜索条件的强大功能不应被低估。
使用正则表达式的过滤器
一些基于 Unix 的最强大命令行工具使用了正则表达式,包括 grep、sed 和 awk(以及包括 Perl 在内的一些编程语言)。在从基础 UNIX 命令行用户转变为真正的超级用户时,学习如何使用正则表达式是一个必需步骤。存在一些不同版本的正则表达式语法和多个版本的 grep、sed 和 awk,因此本教程将集中于每种实现中都具有的非常标准的最常见构造。不要忘了参考您系统的 man 页,以获得有关语法和命令行选项的细节。
基础
在探索使用正则表达式的 UNIX 应用程序之前,了解基础知识是非常重要的。在本部分中,您只需继续往下阅读。稍后您将在 grep 中尝试一些示例。
基本搜索
正则表达式由一些普通字符和特殊字符组成,其中的特殊字符指示搜索条件。 在大多数基本情况下,正则表达式中也许根本就没有使用特殊字符。例如,如果您只是希望使用词条 golf 作为搜索条件,则可以输入以下命令:
golf
这就是一个正则表达式!它搜索单词 golf 的所有实例。正则表达式区分大小写,因此这将搜索 golf 的所有实例,但是不会查找 Golf 的实例。
使用方括号
若要同时搜索 golf 和 Golf,您可以使用方括号(它们是正则表达式中的特殊字符),并列出一串要搜索的各个字符。这类似于搜索中的搜索(这就是正则表达式背后的神奇之处)。
标签: