awk流程控制

2021-10-02 02:52:13 字數 1210 閱讀 2785

本案例要求了解awk的流程控制操作,可自行設定awk語句來驗證一下操作:

實現此案例需要按照如下步驟進行。

1)單分支

統計/etc/passwd檔案中uid小於或等於1000的使用者個數:

[root@svr5 ~]# awk -f: '}end' /etc/passwd

39

統計/etc/passwd檔案中uid大於1000的使用者個數:

[root@svr5 ~]# awk -f: '}end' /etc/passwd

8

統計/etc/passwd檔案中登入shell是/bin/bash的使用者的個數:

[root@svr5 ~]# awk -f: '}end'  /etc/passwd

29

2)雙分支

分別統計/etc/passwd檔案中uid小於或等於1000、uid大於1000的使用者個數:

[root@svr5 ~]# awk -f: 'else}end' /etc/passwd

39 8

分別統計/etc/passwd檔案中登入shell是/bin/bash、登入shell不是/bin/bash的使用者個數:

[root@svr5 ~]# awk -f: 'else} end' /etc/passwd

29 38

1)陣列的語法格式

陣列是乙個可以儲存多個值的變數,具體使用的格式如下:

定義陣列的格式:陣列名[下標]=元素值

呼叫陣列的格式:陣列名[下標]

遍歷陣列的用法:for(變數 in 陣列名)

[root@svr5 ~]# awk 'begin'

88 11

[root@svr5 ~]# awk 'begin'

1[root@svr5 ~]# awk 'begin'

1[root@svr5 ~]# awk 'begin'

1[root@svr5 ~]# awk 'begin}'

0 01 11

2 22

注意,awk陣列的下標除了可以使用陣列,也可以使用字串,字串需要使用雙引號:

[root@svr5 ~]# awk 'begin'

11

awk的流程控制語句

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

awk系列 在awk中如何使用流程控制語句

當你回顧所有到目前為止我們已經覆蓋的 awk 例項,從 awk 系列的開始,你會注意到各種例項的所有指令是順序執行的,即乙個接乙個地執行。但在某些情況下,我們可能希望基於一些條件進行文字過濾操作,即流程控制語句允許的那些語句。在 awk 程式設計中有各種各樣的流程控制語句,其中包括 然而,對於本系列...

mysql流程控制 MySQL 流程控制

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