古老的程式語言awk

程式語言不斷地隨者電腦科學的發展在演進,awk可以說是最早的scripting language,衍生自貝爾實驗室,在1977年出現,其為Perl(1987)和Python(1989)的前身,有一陣不太有人使用,但隨者有結構的資料大增,這種古老語言的處理速度,使其再度被使用。

就實用性來說,可以用其來取代cut,其在將資料分成field有非常大的彈性。

基本awk架構

awk ` pattern {action } `

  • awk處理邏輯是以行為單位的
  • 當pattern存在於line中,執行action
  • 將每行中的空白格當作是分隔
  • pattern的辨識以最大化為主

特殊變數special variables

在pattern或是action指令中有變數功能,如前述每個space中間即可被當作是一個單位的資訊

  • $0 整行
  • $1  第一個field(行中由空白格分隔裡,第一組文字)
  • $2  第二個field
  • NF 第幾個field
  • NR 當下的line數

指令operators

  • +-*/ 加減乘除
  • >< ==, !=比較
  • % 取mode
  • ~,!~ 有無match到

有用的awk教學資源

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

w

連結到 %s