《Sed和Awk》是一本深入介绍Linux/Unix文本处理工具sed和awk的书籍。中文版将原作精华完整呈现,适合编程爱好者和技术人员阅读学习。
sed 和 awk 是用户、程序员以及管理员常用的工具。sed 之所以被称为流编辑器(stream editor),是因为它用于执行一系列的文件编辑操作;而awk 则是根据它的三位开发者Aho、Weinberger 和 Kernighan 的名字命名,是一种编程语言,能够使处理结构化数据和生成格式化的报告变得更加容易。
本书第二版介绍了 awk 的 POSIX 标准,并涵盖了几个开源版本以及商业版本。书中一开始提供了一个概述与指南,讲述了从 grep 到 sed 再到 awk 功能的逐步改进过程。sed 和 awk 具有相同的命令行语法,以脚本的形式接收用户的命令输入。由于这三个程序都使用了 UNIX 正则表达式,因此本书用一章来介绍该表达式的语法。
接下来的部分详细介绍了如何编写 sed 脚本:从简单的几行代码开始学习基本的编辑操作,并逐步了解高级命令及其背后的简单程序结构。这些高级功能包括用于处理保持空间的指令,即一个临时缓冲区。
第二部分经过了广泛的修订,涵盖了 POSIX awk 以及三个开源版本和三个商业版。这部分介绍了awk语言的主要特点及编写简单的脚本方法;同时讨论了通用编程结构、使用内部函数的方法、定义用户自定义函数的方式、调试技巧等,并提供了一个实例程序来展示如何利用这些工具开发一个处理索引的应用,演示了 awk 的强大功能。
此外,书中还包含了一些由其他用户提供并展示了 sed 和 awk 程序风格和技巧的示例代码。