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 文件?
▶如何计算累加总和?
如果这个工具对你有帮助的话,请考虑请我喝杯咖啡。
请给我买杯咖啡吧。