以下是一些使用 grep 作为搜索工具的正则表达式示例。许多其他 UNIX 工具,包括交互式编辑器 vi 和 Emacs、流编辑器 sed 和 awk,以及所有现代编程语言都支持正则表达式。在您学会正则表达式的语法(也许相当晦涩)之后,就可以将您的专业知识灵活运用到不同的工具、编程语言和操作系统。
查找以“Bat”开头的名称
要查找以“Bat”开头的名称,请使用:
grep -E '^Bat'
可以使用 -E 选项来指定正则表达式。^(脱字号)字符匹配行首或字符串的开头,这是一个出现在每行或每个字符串开头字符之前的假想字符。字母 B、a 和 t 只具有字面含义并且仅匹配那些特定的字符。因此,命令 grep -E '^Bat' 将生成:
Batman
Batgirl
由于许多 regex 操作符也为 Shell 所使用(其中一些具有不同的用途,另外一些则有类似的用途),因此一个好的习惯是使用单引号将命令行中的每个 regex 括起来,以保护 regex 操作符免遭 Shell 的误解。例如,*(星号)和 $(美元符号)都是 regex 操作符,并且对于您的 Shell 具有特殊的含义。
查找以“man”结尾的名称
要查找以“man”结尾的名称,可以使用 regex man$ 来匹配序列 m、a 和 n,并且后面紧接与 regex 操作符 $ 匹配的行(字符串)。
查找空行
基于 ^ 和 $ 的作用,您可以使用 regex ^$ 来查找空行(相当于在开始之后立即结束的行)。









