awk用法三

  6、結構化控制語句

    6.1 if語句

      格式:if(條件) {body} else {else body}

        實例1:判斷/etc/passwd文件中的UID如果大于500則顯示為“common user”,否則顯示為“admin user”:

1.jpg

    6.2 while循環

      格式:while(條件){body}

         條件為真時進入循環體。

        實例2:打印出/etc/inittab文件中每行中為偶數個的字符串:

2.jpg

        實例3:找出/etc/inittab文件中長度大于等于6個字符的字符串:

3.jpg

    6.3 do-while循環

      格式:do {body}while (條件)

        先進入循環體執行一次,再判斷條件。

        將實例3用do-while改寫如下:

4.jpg

    6.4 for循環

      格式:for (變量賦值;條件;條件修正){body}

        將實例2和實例3分別使用for循環修改如下:

5.jpg

6.jpg

     另外,for循環可用來遍歷數組元素,其格式語法如下:

       for (i in 數組名) {for body}

    6.5 循環控制

      (1)break

        結束整個循環體。

      (2)continue

        結束本次循環,進入下一次循環。

    以上兩個命令的用法與在shell腳本中的用法相同。

    6.6 next

      提前結束對本行的處理,進入下一行的處理。

        實例4:顯示/etc/passwd文件中行號為奇數的用戶名:

7.jpg

  7、數組

    7.1 定義數組變量

      array[index]=element

      inddex:可以使用任意字符串,如果某數組元素事先不存在,那么在引用時,awk會自動創建此元素并將其初始化為空串;因此要判斷其數組是否存在某元素,可以使用“index in array”這種格式。

8.jpg

    7.2 遍歷數組變量      

      要遍歷數組中的每一個元素,需要使用如下特殊結構:

       for (var in array) {for body}

        var會遍歷array的索引。

9.jpg

        實例5:統計netstat -ant顯示的結果中每種狀態的個數:

10.jpg

    7.3 刪除數組變量 

     delete array[index]

11.jpg

 

原創文章,作者:petmaster,如若轉載,請注明出處:http://www.www58058.com/10464

(0)
petmasterpetmaster
上一篇 2016-02-14 09:56
下一篇 2016-02-14 10:01

相關推薦

  • yum相關知識及源碼編譯安裝http

    二.源碼編譯安裝http 獲得源碼,將源碼放在/usr/local/src下,并將其解壓縮到此目錄下 進入解壓縮文件下,查看INSTALL文件 文件內容如下 黃色區域即為安裝步驟 在當前目錄下執行./configure –prefix=/usr/local/appach2 編譯  make make install  把目標文…

    系統運維 2016-08-24
  • 設定Linux自動登陸

    設定Linux自動登陸 在實驗場景中我們可能會經常重新啟動Linux,然后反復輸入賬戶密碼登陸。為了在每次啟動后快速進入系統減少在實驗場景中不必要的工作,我們可以設定Linux在啟動后自動登陸到指定賬戶(實驗中一般為root賬戶)?;贚inux一切皆文件的思想,我們可以通過修改配置文本的方式決定是否啟用自動登錄,以及自動登錄的賬戶是普通用戶賬戶還是root…

    Linux干貨 2017-07-15
  • varnish

    Web Page Cache: squid –> varnish程序的運行具有局部性特征:時間局部性:一個數據被訪問過之后,可能很快會被再次訪問空間局部性:一個數據被訪問時,其周邊的數據也有可能被訪問到 cache:命中 熱區:局部性;時效性:緩存空間耗盡:LRU過期:緩存清理 緩存命中率:hit/(hit+miss)(0,1)頁面命中率:…

    Linux干貨 2017-05-22
  • 輕松實現源碼打包安裝[原創]

    通常我們在Linux/Unix下安裝一平臺時往往需要十幾甚至更多安裝包,這些源碼包來源于網絡、本地硬盤、移動設備。有時碰到網絡不暢通或下載地址失效會帶來很多麻煩,一個好方法便是將常用的軟件包下載到本地硬盤存放。問題是久而久之連自己都不曉得哪些包才是適用的?,F用makeself來實現自解壓倒安裝倒是一個很好的解決方案,下面以制作Func客戶端安裝包為例。 一、…

    Linux干貨 2015-03-27
  • 系統啟動流程

    linux系統啟動流程 內核的設計結構單內核:linux(線程–lwp輕量級進程)微內核:windows(支持真正意義上的多線程) 單內核:很多功能驅動都集成在一起 微內核:內核很小,功能單一。模塊化 linux為了適應眾多用戶的不同硬件需求,linux內核在設計上采用模塊化設計??梢詣討B加載模塊。核心模塊:ko 內核所獨有的。共享對象:so 紅…

    Linux干貨 2016-09-19
  • shell– 腳本編程

    編程基礎 腳本基本格式 變量 運算 條件測試 流程控制 函數 數組 高級字符串操作 高級變量 配置用戶環境 編程基礎 程序:指令+數據 程序編程風格:     過程式:以指令為中心,數據服務于指令     對象式:以數據為中心,指令服務于數據 shell程序:提供了編程能力,解釋…

    Linux干貨 2016-08-21
欧美性久久久久