本书在一开始就给出一个概述和指南,论述了从grep到sed再到awk不断改进的功能。sed和awk具有相同的命令行语法,以脚本的形式接收用户的命令。因为所有这三个程序都使用UNIX正则表达式,因此书中用一章的篇幅来介绍UNIX的正则表达式语法。
\r\n 然后,本书介绍如何编写sed脚本。从编写几行简单的脚本开始,学习进行手工编辑操作的其他基本命令和高级命令,以及由此引入的简单程序结构。这些高级命令包括用于处理保持空间、即一个等量齐观时缓冲区的命令。
前言\r\n第一章 强大的编辑工具\r\n第二章 了解基本操作\r\n第三章 了解正则表达式语法\r\n第四章 编写sed脚本\r\n第五章 基本sed命令\r\n第六章 高级sed命令\r\n第七章 编写awk脚本\r\n第八章 条件、循环和数组\r\n第九章 函数\r\n第十章 “底部抽屉”\r\n第十一章 awk的系列产品\r\n第十二章 综合应用\r\n第十三章 脚本的汇总\r\n附录一 sed的快速参考\r\n附录二 awk的快速参考\r\n附录三 第十二章的补充\r\n
本书介绍了一组名字奇特的UNIX实用工具:sed和awk. 这组实用工具有很多共同的特征, 譬如正则表达式在模式匹配中的应用等. 模式匹配在sed和awk的使用中是很重要的部分, 因此本书详尽地解释了UNIX正则表达式的语法. 一般情况下, 从grep到sed和awk的学习过程是很自然的, 所以本书涵盖了上述3个程序, 而重点集中在sed和awk.
sed和awk是一般用户. 程序员和系统管理员们处理文本文件的有力工具. sed的名字来源于其功能, 它是一个字符流编辑器(stream editor), 可以很好地完成对多个文件的一系列编辑工作. awk的名字来源于它的开发人Aho. Weinberger和Kernighan, 它是一种程序设计语言, 非常适合结构化数据的处理和格式化报表的生成. 本书强调了awk的POSIX定义. 另外, 在讨论awk的3个可以免费获得的版本和2个商业版本以前, 本书还简要地描述了awk的最初版本, 所有这些版本都实现了awk的POSIX定义.
本书的重点是编写sed和awk脚本来快速解决用户各种各样的问题. 大多数脚本都可以称为“快速定位”. 另外, 我们还会涉及到一些需要更仔细地设计和开发, 能够解决较大问题的脚本.