1.3.3 for循环
学习目标
这一节,我们从 基础知识、简单实践、小结 三个方面来学习
基础知识
简介
在awk中,支持一些逻辑循环的功能,比如 for、while等。实际的过程中,我们往往会结合数组元素进行信息的统计
for语句标准格式
for (三元表达式) {
执行语句
}
for (变量 in 列表) {
执行语句
}
for语句简写格式
for(表达式) {执行语句;...}
注意:
for语句可以结合if语句进行操作
简单实践
实践1-for循环语法
普通for循环实践
[root@localhost ~]# for((i=1,sum=0;i<=100;i++));do let sum+=i;done;echo $sum
5050
awk的for标准语法
[root@localhost ~]# awk 'BEGIN {
sum=0
for (i=1;i<=100;i++) {
sum+=i
}
print sum
}'
5050
awk for循环单行实践
[root@localhost ~]# awk 'BEGIN{ sum=0; for(i=1;i<=100;i++) {sum+=i}; print sum}'
5050
实践2-文本实践
文本信息的基本统计
[root@localhost ~]# seq 10 | paste -s | tr -s "\t" " " > num.txt
[root@localhost ~]# cat num.txt
1 2 3 4 5 6 7 8 9 10
[root@localhost ~]# awk '{for(i=1;i<=NF;i++){sum+=$i};print sum}' num.txt
55
学生信息统计
[root@localhost ~]# awk 'NR>=2 {
total=0
for (i=2;i<=NF;i++) {
total+=$i
}
print "学生姓名: "$1", 课程总分: "total
}' course_scores.txt
学生姓名: 张三, 课程总分: 255
学生姓名: 李四, 课程总分: 247
学生姓名: 王五, 课程总分: 195
学生姓名: 赵六, 课程总分: 268