shell脚本总结14:awk命令的使用方法
这里写自定义目录标题
- 1. 基本语法
- 2.示例
awk 是 Shell 中用于文本分析和数据处理的强大工具,兼具脚本语言的灵活性。它特别适合处理结构化数据(如日志、CSV 文件)。
1. 基本语法
awk 'pattern {action}' [输入文件]
**pattern**:匹配条件(如 /error/ 或 NR > 1),可选。
**action**:对匹配行执行的操作(如 print、计算),需用 {} 包裹。
运行流程:自动逐行读取输入文件(或管道输入)。若行满足 pattern,则执行 action。重复直到文件结束。
2.示例
awk -F ',' '{print $1 "," $5}' data.csv
---结果如下
id,salary
101,4500
102,8000
103,6800awk -F ',' 'NR>1 {print $1 "," $5}' data.csv
---结果如下
101,4500
102,8000
103,6800# 提取年龄大于 30 的记录
awk -F ',' '$3 > 30 {print $1 "," $3}' data.csv
---结果如下
id,age
102,32
# 添加列标题
awk -F ',' 'BEGIN {print "ID,Age"} NR>1 {print $1 "," $3}' data.csv
---结果如下
ID,Age
101,28
102,32
103,25
# 计算年龄平均值
awk -F ',' 'NR>1 {sum+=$3; cnt++} END {print "Average age:", sum/cnt}' data.csv
---结果如下
Average age: 28.3333
# 统计文件的行数并计算第一列总和
awk -F ',' 'BEGIN {sum=0; count=0} NR>1 {sum+=$3; count++} END {print "Avg:", sum/count}' data.csv
---结果如下
Avg: 28.3333