首页/系统/Linux 运维命令速查/awk 字段与列操作
本包目录(613 条)
文件与目录76 条
文本处理77 条
网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

awk 字段与列操作

-F 指定分隔符、$NF 取最后字段、NF 数字段、修改字段后重建整行,按列裁剪与重排的核心手法。

Linux 运维命令速查系统更新于 2026-10-12
用途按列提取/重排/组合输出
语法awk -F'分隔' '{print $n, ...}'
技巧$NF 末列 $(NF-1) 倒数第二 OFS 输出分隔

常用示例

常用示例
awk -F, '{print $2, $1}' data.csv        # 交换前两列
awk '{print $NF}' access.log            # 取每行最后一列
awk -F: 'BEGIN{OFS=":"} {$3=$3"x"; print}' f
awk -F'[ =]' '{print $2}' app.log       # 正则分隔(= 或空格)
改了任一字段后 awk 会用 OFS 把 $0 重建,相当于自动重新格式化整行。

易错点

  • -F, 对「带引号的 CSV」不适用:引号内含逗号的字段会被切错,复杂 CSV 用 csvkit/Python
  • 多字符分隔符属于扩展(gawk/现代化实现支持),POSIX awk 单字符最稳

数据来源与参考

  • man 1 awk(gawk 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌