1. 程式人生 > >awk 控制語句(if for do while)

awk 控制語句(if for do while)

在linux awk的 while、do-while和for語句中允許使用break,continue語句來控制流程走向,也允許使用exit這樣的語句來退出。break中斷當前正在執行的迴圈並跳到迴圈外執行下一條語句。if 是流程選擇用法。 awk中,流程控制語句,語法結構,與c語言型別。下面是各個語句用法。

一.條件判斷語句(if)

if(表示式) #if (Variable in Array )
語句1
else
語句2

格式中"語句1"可以是多個語句,如果你為了方便Unix awk判斷也方便你自已閱讀,你最好將多個語句用{}括起來。Unix awk分枝結構允許巢狀,其格式為:

if(表示式)

{語句1}

else if(表示式)
{語句2}
else
{語句3}

[[email protected] nginx]# awk 'BEGIN{
test=100;
if(test>90)
{
    print "very good";
}
else if(test>60)
{
    print "good";
}
else
{
    print "no pass";
}
}'

very good

每條命令語句後面可以用“;”號結尾。

二.迴圈語句(while,for,do)

1.while語句

格式:

while(表示式)

{語句}

例子:

[[email protected]

nginx]# awk 'BEGIN{
test=100;
total=0;
while(i<=test)
{
    total+=i;
    i++;
}
print total;
}'
5050

2.for 迴圈

for迴圈有兩種格式:

格式1:

for(變數 in 陣列)

{語句}

例子:

[[email protected] nginx]# awk 'BEGIN{
for(k in ENVIRON)
{
    print k"="ENVIRON[k];
}
}'

AWKPATH=.:/usr/share/awk
OLDPWD=/home/web97
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
SELINUX_LEVEL_REQUESTED=
SELINUX_ROLE_REQUESTED=
LANG=zh_CN.GB2312

。。。。。。

說明:ENVIRON 是awk常量,是子典型陣列。

格式2:

for(變數;條件;表示式)

{語句}

例子:

[[email protected] nginx]# awk 'BEGIN{
total=0;
for(i=0;i<=100;i++)
{
    total+=i;
}
print total;
}'

5050

3.do迴圈

格式:

do

{語句}while(條件)

例子:

[[email protected] nginx]# awk 'BEGIN{
total=0;
i=0;
do
{
    total+=i;
    i++;
}while(i<=100)
print total;
}'
5050

以上為awk流程控制語句,從語法上面大家可以看到,與c語言是一樣的。有了這些語句,其實很多shell程式都可以交給awk,而且效能是非常快的。

break break 語句用於while for 語句時,導致退出程式迴圈。
continue continue 語句用於while for 語句時,使程式迴圈移動到下一個迭代。
next 能能夠導致讀入下一個輸入行,並返回到指令碼的頂部。這可以避免對當前輸入行執行其他的操作過程。
exit 語句使主輸入迴圈退出並將控制轉移到END,如果END存在的話。如果沒有定義END規則,或在END中應用exit語句,則終止指令碼的執行。

相關推薦

awk 控制語句if for do while)

在linux awk的 while、do-while和for語句中允許使用break,continue語句來控制流程走向,也允許使用exit這樣的語句來退出。break中斷當前正在執行的迴圈並跳到迴圈外執行下一條語句。if 是流程選擇用法。 awk中,流程控制語句,語法結

Java 筆記 之 流程控制語句 if & switch & for & while

概述 在一個程式執行的過程中,各條語句的執行順序對程式的結果是有直接影響的。也就是說程式的流程對執行結果有直接的影響。所以,我們必須清楚每條語句的執行流程。而且,很多時候我們要通過控制語句的執行順序來實現我們要完成的功能。 分類  順序結構 

Shell版本迴圈語句if//for/while/case)

if選擇結構 if單分支處理:當“條件成立”時執行命令序列xx,否則,不執行任何操作(只判斷為真)    if [條件測試] ; then       命令序列xx fi 示例:檢測/media/cdrom目錄,若不存在則建立     #!/bin/bash

lua學習筆記---流程控制語句if else)

其實這些在使用熟練之後都無需記錄,目前這些也很熟練了。擔心後面長時間不用lua,忘了基本的格式,所以記錄一下。 if(布林表示式) then --1 elseif(布林表示式)then --2 else --3 end 例子: c=10 if(c>1

控制語句if-else+迴圈+switch)彙編規則

【1】說說條件碼 最常用的的條件碼有: CF:進位標誌 (無符號溢位) ZF:零標誌 SF:符號標誌(結果為負數) OF:溢位標誌 (補碼溢位, 有符號溢位) 【2】有兩類指令設定條件

python筆記5-控制流條件語句和迴圈、遍歷語句ifforwhile

1.條件語句 語法:if 條件表示式:程式碼塊      elif 條件表示式:程式碼塊      else:程式碼塊 if語句的特點,關鍵字if 滿足條件才執行下面的程式碼塊或者elif模組; 必須是以if開頭,可以沒有elif或者else,但不能沒有if

Python控制結構IfWhileFor

Python控制結構 Python控制結構 條件分支 if語句 迴圈 while迴圈 for 迴圈

Kotlin基礎二)--- 控制if,when, for, while

1、 If 表示式 在Kotlin中,if是一個表示式,它返回一個值。跟java不同,它沒有三元操作符(condition ? then : else)。 // 常規的使用 var max = a if (a < b) max = b // 帶

選擇 | 迴圈 | 語句ifif……else,switch,whilefor)的理解和使用

一、選擇結構語句 選擇結構語句,字面上理解既然含有選擇,就一定得有相應供其選擇的條件才行。 例如現實世界中我們開車遇到紅綠燈會知道紅燈停,綠燈行,Java中也是如此,有些程式碼必須滿足條件才能被執行。 對一些條件進行判斷,從而來確定執行哪些程式碼的語句,就

九九乘法口訣表forwhiledo...while寫)

1*1=1    2*1=2      3*1=3      4*1=4     5*1=5       6*1=6      7*1=7      8*1=8      9*1=9     1*2=2    2*2=4      3*2=6      4*2=8     5*2=10     6*2=

python迴圈控制語句for

<span style="font-size:14px;"># -*- coding: cp936 -*- #迴圈字串 s1 = "Hello world!" i = 0 for c in s1: print format(i,"2d"),c i

『ORACLE』 PLSQL條件控制語句11g)

lin proc lar plsql 判斷語句 條件 num success end 簡單條件判斷語句 SQL> declare 2 myage number := 10; 3 begin 4 if myage < 11 then 5 dbms

Python條件控制語句與循環控制語句四)

python程序語言的條件控制語句與循環控制語句都一樣,都是if與while還有for等。 Python的條件語句是通過一條或多條語句的執行結果(True或false)來決定執行的代碼塊。 If語句一般格式為: If condition_1 :statement block_1elif condition_2

pup 流程控制語句下)

pup 流程控制語句pup 流程控制語句(下)一:do……while二:for語句三:break和continuedo...while循環控制語句有兩種結構,一種只有while…..部分。另一種do….while….兩部分都有。1.只有while….部分的語句 其語法如下:While(expr){

從零開始學Kotlin-控制語句4)

系列文章 ren kcon tin else andro 格式 當前 break 從零開始學Kotlin基礎篇系列文章 條件控制-if var a=10 var b=20 if(a>b) print(a)

Kotlin的控制流程if表達式)

kotlin pos str 流程 pre body ray var 返回 在Kotlin中if是一個表達式,即它會返回一個值。 fun main(args: Array<String>) { //傳統用法 var a:Int = 12

java學習之流程控制語句選擇結構)

  流程控制語句 1 選擇結構 if if語句有三種語法格式,每一種格式都有它自身的特點。 1.1 if語句 if語句是指如果滿足某種條件,就進行某種處理。 在Java中,if語句的具體語法格式如下: if (條件語句){     執行語句; &nbs

R語言開發之迴圈結構的控制語句break&next)瞭解下

迴圈控制語句用於更改程式正常執行順序,就是當執行離開範圍時,在該範圍內建立的所有自動物件都將被銷燬。我們來看下R支援的控制語句: 序號 控制語句 描述 1 break語句 終止迴圈語句並將執行轉移到迴圈之後的語句。 2 next語句

Java流程控制語句順序結構、選擇結構、迴圈結構、隨機方法)

程式三種結構:順序結構,選擇結構,迴圈結構; 一、順序結構       一切從main開始,從上到下,此乃順序結構; 二、選擇結構      1、if(條件表示式)語句      2、if(條件表示式){一條或者多條語句}             3、switc

Go入門自學寶典008-流程控制語句條件語句

流程控制語句 Go語言支援最基本的三種程式執行結構:順序結構、選擇結構、迴圈結構。  順序結構:程式按順序執行,不發生跳轉。  選擇結構:依據是否滿足條件,有選擇的執行相應功能。  迴圈結構:依據條件是否滿足,迴圈多次執行某段程式碼。 008.1 選擇結構