萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux AWK 正則表達式三大使用形式與實戰範例

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 可處理複雜的日誌分析、資料清洗、報表產出等任務。

copyright © 萬盛學電腦網 all rights reserved