什么是awk
你可能对UNIX 比较熟悉,但你可能对awk 很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk还远没达到它应有的知名度
awk 是什么
与其它大多数UNIX 命令不同的是,从名字上看,我们不可能知道awk 的功能:它既不是具有独立意义的英文单词,也不是几个相关单词的缩写
事实上,awk 是三个人名的缩写,他们是:Aho、(Peter) Weinberg 和(Brain)Kernighan
正是这三个人创造了 awk---一个优秀的样式扫描与处理工具
AWK 的功能是什么
与sed 和 grep 很相似,awk 是一种样式扫描与处理工具
但其功能却大大强于 sed和 grep
awk 提供了极其强大的功能:它几乎可以完成 grep 和 sed 所能完成的全部工作,同时,它还可以可以进行样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数
它具备了一个完整的语言所应具有的几乎所有精美特性
实际上,awk 的确拥有自己的语言:awk 程序设计语言,awk的三位创建者已将它正式定义为:样式扫描和处理语言
为什么使用 awk
即使如此,你也许仍然会问,我为什么要使用 awk
使用 awk 的第一个理由是基于文本的样式扫描和处理是我们经常做的工作,awk 所做的工作有些象数据库,但与数据库不同的是,它处理的是文本文件,这些文件没有专门的存储格式,普通的人们就能编辑、阅读、理解和处理它们
而数据库文件往往具有特殊的存储格式,这使得它们必须用数据库处理程序来处理它们
既然这种类似于数据库的处理工作我们经常会遇到,我们就应当找到处理它们的简便易行的方法,UNIX 有很多这方面的工具,例如 sed 、grep、sort 以及 find 等等,awk 是其中十分优秀的一种
使用 awk 的第二个理由是awk 是一个简单的工具,当然这是相对于其