Unix awk的內(nèi)置函數(shù)知識概括
我們知道Unix awk的內(nèi)置函數(shù)的知識,Unix awk之所以成為一種優(yōu)秀的程序設計語言的原因之一是它吸收了某些優(yōu)秀的程序設計語言(例如C)語言的許多優(yōu)點。這些優(yōu)點之一就是內(nèi)置函數(shù)的使用,awk定義并支持了一系列的內(nèi)置函數(shù)。
由于這些函數(shù)的使用,使得Unix awk提供的功能更為完善和強大,例如,Unix awk使用了一系列的字符串處理內(nèi)置函數(shù)(這些函數(shù)看起來與C語言的字符串處理函數(shù)相似,其使用方式與C語言中的函數(shù)也相差無幾),正是由于這些內(nèi)置函數(shù)的使用,使awk處理字符串的功能更加強大。
本文后面的附錄中列有一般的Unix awk所提供的內(nèi)置函數(shù),這些內(nèi)置函數(shù)也許與你的Unix awk版本有些出入,因此,在使用之前,***參考一下你的系統(tǒng)中的聯(lián)機幫助。
作為內(nèi)置函數(shù)的一個例子,我們將在這里介紹Unix awk的printf函數(shù),這個函數(shù)使得Unix awk與c語言的輸出相一致。實際上,awk中有許多引用形式都是從C語言借用過來的。
如果你熟悉C語言,你也許會記得其中的printf函數(shù),它提供的強大格式輸出功能曾經(jīng)帶我們許多的方便。幸運的是,我們在awk中又和它重逢了。awk中printf幾乎與C語言中一模一樣,如果你熟悉C語言的話,你完全可以照C語言的模式使用Unix awk中的printf。
因此在這里,我們只給出一個例子,如果你不熟悉的話,請隨便找一本C語言的入門書翻翻。
例:顯示文件myfile中的行號和第3字段:
- $awk '{printf"%03d%s ",NR,$1}' myfile
【編輯推薦】