AWK 是強大的文字處理引擎,內建正則表達式支援。Linux 下 AWK 使用正則主要有三種形式:

awk '/正則/{動作}' filename
# 預設匹配整行 $0,相當於 $0 ~ /正則/
# 若動作僅為 print 可省略
awk '/error/ {print}' /var/log/messages
awk '{if ($4 ~ /root/) print}' filename
# 第 4 欄包含 root 才列印整行
sub(/正則/, "替換字串"):替換第一個匹配。gsub(/正則/, "替換字串"):全域替換所有匹配。gensub(/正則/, "替換", "g"):進階替換,支援反向參考。match($0, /正則/):回傳匹配位置。echo "ABC^H^H^H^HDEF" | awk '{gsub(/\^H/, ""); print $0}'
# 輸出: ABCDEF
# \^H 匹配 Ctrl+H (退位鍵),gsub 全域替換為空字串
善用三種形式,AWK 可處理複雜的日誌分析、資料清洗、報表產出等任務。