Unix 文本搜索与正则表达式使用指南
在 Unix 系统中,文本处理是一项常见且重要的任务。Unix 程序员更倾向于处理文本行,因为文本数据比二进制数据更具灵活性,并且 Unix 系统提供了许多工具,使得文本的切片和切块变得容易。本文将介绍 Unix 中两个基本的文本操作:文本搜索和文本替换,重点关注文本搜索工具 grep 以及正则表达式的使用。
1. 文本搜索工具 grep
在 Unix 中,用于查找文本(在 Unix 行话中称为“匹配文本”)的主力程序是 grep 。在 POSIX 系统中, grep 可以使用两种正则表达式风格之一,也可以匹配简单字符串。
传统上,有三个单独的程序用于搜索文本文件:
- grep :原始的文本匹配程序,使用 POSIX 定义的基本正则表达式(BREs)。
- egrep :“扩展的 grep ”,使用扩展正则表达式(EREs),这是一种更强大的正则表达式表示法,但使用起来可能在计算上更昂贵。在现代系统中,这种差异很小。
- fgrep :“快速 grep ”,此变体使用针对固定字符串匹配优化的算法来匹配固定字符串,而不是正则表达式。原始版本也是唯一可以并行匹配多个字符串的变体。
1992 年的 POSIX 标准将这三个变体合并为一个 grep 程序,其行为由不同的选项控制。
超级会员免费看
订阅专栏 解锁全文
69

被折叠的 条评论
为什么被折叠?



