awk 命令構建器
產生 awk 指令,用於模式掃描與文字處理
awk 入門
## 什麼是 awk?
`awk` 是一門用來處理文字的程式語言。它會逐行掃描輸入、將每一行切分為欄位,並對它們執行由 `pattern { action }` 規則組成的程式。它特別擅長欄位擷取、表格報表以及逐行算術運算。
## 如何使用
1. **輸入程式**:提供一段 `awk` 程式,例如 `{print $1}`。 2. **設定欄位分隔符**(可選):CSV 輸入可用 `-F ','`。 3. **指定檔案**:輸入要處理的檔案。 4. **複製並執行**:將產生的指令複製到終端機執行。
程式語法
`awk` 程式是一連串規則:
``` pattern { action } pattern { action } ```
### 內建變數 - `$0` — 目前的整行內容 - `$1`、`$2`、… — 第 1、2、… 個欄位(依 `FS` 切分) - `NF` — 目前這行的欄位數 - `NR` — 目前的行號(涵蓋整個檔案) - `FS` — 欄位分隔符(預設為空白;可用 `-F` 設定)
### 特殊模式 - `BEGIN { … }` — 在讀取任何輸入前執行一次(適合初始化或表頭) - `END { … }` — 在所有輸入處理完後執行一次(適合總計)
### 範例 - `{print $1}` — 印出每一行的第一個欄位 - `{sum += $1} END {print sum}` — 將第一欄加總 - `NR == 1 {next} {print}` — 跳過表頭行 - `$3 > 100 {print $1, $3}` — 印出第三欄超過 100 的列
### 引號處理 用單引號包裹程式,這樣 `$`、`{`、`}` 才不會被 shell 解譯。本產生器會自動為您處理引號。
▶如何解析 CSV 檔案?
▶如何計算累計總和?
如果这个工具对你有帮助,请考虑请我喝杯咖啡。
請幫我買杯咖啡吧。