本篇文章主要是介绍awk循环的语法和类型
1、首先我们先来看看awk循环大概有哪些?
while循环 for循环 special for循环
2、while循环是什么样的?怎么理解循环过程?
#while循环的语法结构 while (condition) action #AWK 首先检查条件是否为真,若条件为真则执行动作。 #此过程一直重复直到条件为假时,则停止 awk '{ i = 1; while ( i <= NF ) { print NF,$i; i++}}' test 对test文件逐行读取,判断读取行中的列是否小于NF(所有列的总数) 打印最后一列,列数累加
3、for循环是什么样的?怎么理解循环过程?
#for循环的语法结构 for (initialisation; condition; increment/decrement) action #for 语句首先执行初始化动作( initialisation ), #然后再检查条件( condition )。 #如果条件为真,则执行动作( action ), #然后执行递增( increment )或者递减( decrement )操作。 #只要条件为真循环就会一直执行。每次循环结束都会进条件检查,若条件为假则结束循环 awk '{for (i = 1; i<NF; i++) print NF,$i}' test #变量的初始值为1,若i小于可等于NF(记录中域的个数), 则执行打印语句,且i增加1。直到i的值大于NF.
4、awk next
next语句从输入文件中读取一行,然后从头开始执行awk脚本。如: {if ($1 ~/test/){next} else {print}} #这里是对第一列进行单词匹配,匹配到test内容的,就直接进入下一行, #否则进行打印