awk循环

本篇文章主要是介绍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内容的,就直接进入下一行,
#否则进行打印

  

posted on 2020-08-12 17:56  gentleman_hai  阅读(1348)  评论(0编辑  收藏  举报

导航