上古神器Awk學習筆記(二)

Awk的前世今生

Awk是以它的三位作者(Aho, Kernighan, and Weinberger)的Family name的首字符。最初在System V上。GNU在其基礎上,添加了額外了特性形成了
gawk所以下文所討論的awk如無特別說明,指的都是gawk。awk是一門模式掃描和處理語言。所以其語法上可能和shell的語法不同。所以awk也可以理解爲是一個腳本解釋器,類似shell
#!/bin/awk#!/bin/bash

Awk的選項

-F fs

推薦一個在線正則表達式生成工具txt2re
這可能是你能awk被用的最多的選項了,使用作爲分隔符,需要注意的是 -F 選項支持正則。

awk上的變量,記錄以及域

變量

在高級語言中變量先聲明後使用,而awk則簡化了
這一過程。無需聲明,直接使用就行。直接使用帶來一個問題,變量聲明在前,所以變量的類型得以確定,腳本語言往往是弱類型的語言。只能從使用上看出數據類型。

記錄

通常,記錄是通過換行符分隔(可以通過變量RS手工指定)。

域可以類比數據庫中的的概念。默認是通過空白符(space,tab,newline)分隔。(可以通過設置變量FS執行). 如果一行的域大小爲NF如果n>NF那麼$n爲 null-string.

awk程序執行

 pattern   { action statements }
 function name(parameter list{
 statements 
 }

參考資料

發佈了59 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章