本篇文章主要是介紹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內容的,就直接進入下一行, #否則進行打印