Unix awk的流程控制BEGIN和END的講解

2021-07-02 18:59:38 字數 644 閱讀 5582

你可能對unix比較熟悉,但你可能對unix awk很陌生,這一點也不奇怪,的確,與其優秀的功能相比,awk還遠沒達到它應有的知名度。

流程控制語句是任何程式語言都不能缺少的部分。任何好的語言都有一些執行流程控制的語句。unix awk提供的完備的流程控制語句類似於c語言,這給我們程式設計帶來了極大的方便。

begin和end:

在unix awk中兩個特別的表示式,begin和end,這兩者都可用於pattern中(參考前面的awk語法),提供begin和end的作用是給程式賦予初始狀態和在程式結束之後執行一些掃尾的工作。

任何在begin之後列出的操作(在{}內)將在unix awk開始掃瞄輸入之前執行,而end之後列出的操作將在掃瞄完全部的輸入之後執行。因此,通常使用begin來顯示變數和預置(初始化)變數,使用end來輸出最終結果。

例:累計銷售檔案xs中的銷售金額(假設銷售金額在記錄的第三字段):

$awk

'begin

end ' sx

(注:>是shell提供的第二提示符,如要在shell程式unix awk語句和unix awk語言中換行,則需在行尾加反斜槓)

在這裡,begin預置了內部變數fs(字段分隔符)和自定義變數total,同時在掃瞄之前顯示出輸出行頭。而end則在掃瞄完成後列印出總合計。

mysql流程控制 MySQL 流程控制

流程控制 1 順序結構 程式從上往下依次執行 2 分支結構 多條路徑選擇一條 3 迴圈結構 在規定範圍內重複執行 一 分支結構 1 if函式 功能 實現分支流 語法 if 表示式1,表示式2,表示式3 執行順序 執行表示式1,成立返回表示式2的值,不成立則返回表示式3的值 應用 任何地方 例 if ...

if的流程控制

程式設計的目的是 控制計算機,像人腦一樣去工作,既然是要模擬人,那麼也要有對不同的條件,有不能反應的能力 1.語法一 if 條件 1else 2如果條件為true,那麼就會執行 1,反之,如果條件不成立則執行 2。這是if條件語句的基本語法。else可以不使用 2.語法二 if 條件1 1elif ...

Python流程控制語句流程控制語句

流程控制語句1 if語句 if 語句基本用法 if 表示式 語句塊其中,表示式可以是乙個單純的布林值或變數,也可以是比較表示式或邏輯表示式,如果表示式為真,則執行 語句塊 如果表示式的值為假,就跳 過 語句塊 繼續執行後面的語句。2 if else語句 if else 語句基本用法 if 表示式 語...