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
下一篇 2016-02-14

相關推薦

  • 網絡N23期第一周(計算機的組成及功能及Linux的發行版等)

    一. 描述計算機的組成及功能 計算機由五大硬件組成:” 運算器 + 控制器 + 儲存器 + 輸入設備 + 輸出設備” 。 運算器(Datapath):運算器的功能是對數據進行各種算術運算和邏輯運算,即對數據進行加工處理。 控制器(Control):是整個計算機的中樞神經,其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算…

    Linux干貨 2016-09-22
  • 鏈接分析算法之:主題敏感PageRank

      前面的討論提到。PageRank忽略了主題相關性,導致結果的相關性和主題性降低,對于不同的用戶,甚至有很大的差別。例如,當搜索“蘋果”時,一個數碼愛好者可能是想要看 iphone 的信息,一個果農可能是想看蘋果的價格走勢和種植技巧,而一個小朋友可能在找蘋果的簡筆畫。理想情況下,應該為每個用戶維護一套專用向量,但面對海量用戶這種方法顯然不可行。所…

    Linux干貨 2016-02-17
  • grep,egrp,fgrep 命令與正則表達式

    一 簡介     grep (global search regular expression(RE) and print out the line,全面搜索正則表達式并把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來。 Unix的grep家族包括grep、egrep和fgrep…

    Linux干貨 2016-01-19
  • shell練習

    1 、編寫腳本/root/bin/systeminfo.sh, 顯示當前主機系統信息, 包括主機名,IPv4 地址,操作系統版本,內核版本,CPU 型 號,內存大小,硬盤大小。 運行后結果是: 2 、編寫腳本/root/bin/backup.sh ,可實現每日將/etc/ 目錄備 份到/root/etcYYYY-mm-dd中 運行結果是: 3 、編寫腳本/r…

    Linux干貨 2016-08-15
  • 馬哥教育網絡班18期+第10周課程練習

    博客作業10周.md—E:\Documents CentOS啟動流程 1. 加電自檢 2. 引導加載次序:BOOT Sequence 3. bootloader: 4. GRUB引導加載器 5. 進入Kernel 6. 運行init 7. 運行初始化腳本 8.啟動系統服務 9. 設置登陸終端 整體總結 習題 習題1 習題2 習題3 習題4 習題5 習題6 練…

    Linux干貨 2016-06-23
  • Linux下XFS、Ext2文件系統對比、文件管理、inode、文件名、標準I/O、管道|tee、tr -cs blog by fazionlan July.31st

    Linux下XFS、Ext2文件系統對比、文件管理、inode、文件名、標準I/O Ext2、Fat、XFS文件系統   文件系統是對一個存儲設備上的數據和元數據進行組織的機制,文件系統的創建是在格式化分區的過程中完成的(一個分區就是一個系統),眾所周知Windows操作系統使用的文件系統是FAT與NTFS;Linux不同的發行版本使用的文件系統主…

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