改變 AWK 切割欄位的方式 & 使用者定義函數

AWK不僅能自動分割欄位, 也允許使用者改變其欄位切割方式以 適應各種格式之需要. 使用者也可自定函數, 若有需要可將該函數 單獨寫成一個檔案,以供其它AWK程式叫用. 範例 : 承接 6.2 的例子, 若八點為上班時間, 請加註 ``*''於遲到記錄 之前, 並計算平均上班時間. 分 析:
  1. 因八點整到達者,不為遲到, 故僅以到達的小時數做判斷是不夠的; 仍應參考到達時的分鐘數. 若 ``將到達時間轉換成以分鐘為單位'', 不僅易於判斷是否遲到, 同時也易於計算到達平均時間.
  2. 到達時間($2)的格式為 dd:dd 或 d:dd; 數字當中含有一個 ":". 但文數字交雜的資料AWK無法直接做數學運算. (註: AWK中字串 "26"與數字26, 並無差異, 可直接做字串或數學運算, 這是AWK重要 特色之一. 但AWK對文數字交雜的字串無法正確進行數學運算).
解決之方法 :