awk命令 #
一、基本用法 #
bash
#!/bin/bash
# 打印列
awk '{print $1}' file.txt
# 打印多列
awk '{print $1, $2}' file.txt
# 指定分隔符
awk -F',' '{print $1}' file.csv
# 使用脚本文件
awk -f script.awk file.txt
二、内置变量 #
| 变量 | 说明 |
|---|---|
| $0 | 整行 |
| $1-$n | 第n列 |
| NF | 列数 |
| NR | 行号 |
| FS | 字段分隔符 |
| RS | 行分隔符 |
| OFS | 输出字段分隔符 |
三、条件与循环 #
bash
#!/bin/bash
# 条件判断
awk '$3 > 100 {print $1}' file.txt
# if语句
awk '{if($3>100) print $1}' file.txt
# 循环
awk '{for(i=1;i<=NF;i++) print $i}' file.txt
四、实战示例 #
bash
#!/bin/bash
# 统计
awk '{sum+=$1} END {print sum}' file.txt
# 分组统计
awk '{count[$1]++} END {for(k in count) print k, count[k]}' file.txt
# 格式化输出
awk '{printf "%-10s %5d\n", $1, $2}' file.txt
# 过滤
awk 'NR>1 && $3>100' file.txt
下一步 #
你已经掌握了awk命令,接下来让我们学习 cut命令!
最后更新:2026-03-27