例如:
a
b
c
d
e
a 1 a #$0不等于"b",则执行{printf $0" "}{print NF,$0}这二个动作。
2 b 1 b #$0等于"b",则执行{printf NR" "}{printf $0" "}{print NF,$0}这三个动作。
c 1 c #$0不等于"b",则执行{printf $0" "}和执行{print NF,$0}
d 1 d #$0不等于"b",则执行{printf $0" "}{print NF,$0}这二个动作。
e 1 e #$0不等于"b",则执行{printf $0" "}{print NF,$0}这二个动作。
这可以清楚的看出,awk是一行一行读取文件的,然后按照代码的前后顺序执行。如果动作中有next和exit时,结果就不一样了。
a 1 a
2
c 1 c
d 1 d
e 1 e
a 1 a
2