我们知道Unix awk的内置函数的知识,Unix awk之所以成为一种优秀的程序设计语言的原因之一是它吸收了某些优秀的程序设计语言(例如C)语言的许多优点。这些优点之一就是内置函数的使用,awk定义并支持了一系列的内置函数。
由于这些函数的使用,使得Unix awk提供的功能更为完善和强大,例如,Unix awk使用了一系列的字符串处理内置函数(这些函数看起来与C语言的字符串处理函数相似,其使用方式与C语言中的函数也相差无几),正是由于这些内置函数的使用,使awk处理字符串的功能更加强大。
本文后面的附录中列有一般的Unix awk所提供的内置函数,这些内置函数也许与你的Unix awk版本有些出入,因此,在使用之前,***参考一下你的系统中的联机帮助。
作为内置函数的一个例子,我们将在这里介绍Unix awk的printf函数,这个函数使得Unix awk与c语言的输出相一致。实际上,awk中有许多引用形式都是从C语言借用过来的。
如果你熟悉C语言,你也许会记得其中的printf函数,它提供的强大格式输出功能曾经带我们许多的方便。幸运的是,我们在awk中又和它重逢了。awk中printf几乎与C语言中一模一样,如果你熟悉C语言的话,你完全可以照C语言的模式使用Unix awk中的printf。
因此在这里,我们只给出一个例子,如果你不熟悉的话,请随便找一本C语言的入门书翻翻。
例:显示文件myfile中的行号和第3字段:
- $awk '{printf"%03d%s ",NR,$1}' myfile
【编辑推荐】