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內容的,就直接進入下一行,
#否則進行打印

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM