awk用法二

  3、awk的printf命令

    格式:printf format, item1 item2…

    要點:

     (1) 要指定format;

     (2) 輸出時不會自動換行,如需換行則需要給出\n;

     (3) format用于為后面的每個item指定其輸出格式;

     (4) format格式的指示符都是%開頭,后跟一個字符。

    format常用的字符:

     %c:顯示字符的ASCII碼

     %d,%i:十進制整數;

     %e,%E:科學計數法;

     %f:顯示浮點數;

     %g,%G:以科學計數法格式或浮點數格式顯示數值;

     %s:顯示字符串;

     %u:顯示無符號整數;

     %%:顯示%自身。

    format中常用修飾符:

    #:顯示寬度;

    -:左對齊;

    +:顯示數值的符號;

     .#:取值精度。

    實例1:以固定寬度20輸出/etc/passwd文件中前10條記錄的用戶名和shell信息:

1.jpg

    上例中標注的部分含義為:兩個字段都是以20個字符的寬度來顯示,并且以換行符為每行的結束符。

   實例2:將上例中的用戶名以左對齊顯示:

2.jpg

   實例3:將3.14159取2位小數顯示:

3.jpg

  4、awk的操作符

    算術操作符:

      x+y:加

      x-y:減 

      x*y:乘

      x/y:除

      x**(^)y:乘方

      x%y:取模

      -x:負值

      +x:轉換為數值

    字符串操作符:

      連接:無需符號,直接將兩個字符串放在一起就可以了;

    賦值操作符:

      x=y:將y的值賦值給x;

      x+=y:將x+y的結果賦值給x;

      x-=y:將x-y的結果賦值給x;

      x/=y:將x除以y的結果賦值給x;

      x%=y:將x與y取模的結果賦值給x;

      x^=y或x**=y:將x取y次方的結果賦值給x;

      x++:將x+1的結果賦值給x;

      x–:將x+1的結果賦值給x;

    注:如果模式自身是=號,要寫為/=/

    比較操作符:

      x<y:如果x小于y則為真;

      x<=y:如果x小于等于y則為真;

      x>y:如果x大于y則為真;

      x>=y:如果x大于等于y則為真;

      x==y:如果x等于y則為真;

      x~y:模式匹配,x能夠被y模式所匹配為真。

    邏輯操作符:

      x&&y:如果x為真則執行y;

      x||y:如果x為假則執行y。

    條件表達式:

      selector ?if-ture-expression: if-false-expression

        selector:條件

        ?if-ture-expression:如果為真則執行此表達式

        :if-false-expression:否則執行此表達式

    實例4:判斷/etc/passwd文件中uid大于500則顯示為"Common user",否則顯示為“admin user":

4.jpg

  5、模式

    (1)正則表達式

      格式:/PATTERN/

      實例5:只顯示/etc/passwd文件中存在root的行:

5.jpg

    (2)表達式

      以比較表達式居多,其結果為非0或非空字符串時滿足條件,awk僅處理滿足條件的行。

      實例6:只顯示uid大于等于500的行:

6.jpg

    (3)特殊模式

      BEGIN:在awk命令的program運行之前執行一次;

     END:在awk命令的program運行之后執行一次。

     實例6:顯示/etc/passwd文件中以root開頭的行的用戶名在人、UID、shell信息,顯示時以逗號分隔各字段,并在輸出結果后打印“THE END”。

7.jpg

    (5)空模式

      用于匹配任意行。

8.jpg

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

(0)
petmasterpetmaster
上一篇 2015-12-24 16:44
下一篇 2015-12-28 15:25

相關推薦

  • 企業實時同步方案—-Rsync+Sersync

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://nolinux.blog.51cto.com/4824967/1433623     在博文企業實時同步方案—-Sersync介紹中我們詳細介紹了Sersync的原理,設計架構以及…

    Linux干貨 2015-03-30
  • N26第一周博客作業

    1.       計算機的組成及其功能 計算機由以下5部分組成: 控制器:控制器是計算機的中樞神經,功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算機各個部分工作及內存與外存的訪問等。 運算器:運算器功能主要是對數據進行各種算術和邏輯運算,即對數據進行加工處理。…

    Linux干貨 2016-12-28
  • 初步了解計算機組成及Linux系統

    一、計算機的組成及其功能: 計算機主要由三部分組成: 輸入單元:包括鍵盤、鼠標、卡片閱讀器、掃描儀、手寫板等。 輸出單元使我們能夠將一些數據輸入到主機里,然后再由主機的功能處理成為圖表或文章等信息后,將結果傳輸到輸出設備,如屏幕或打印機上面。 中央處理器(CPU):其中包含算數邏輯、控制、記憶等單元。 CPU作為一個具有特定功能的芯片,里面含有微指令集,如果…

    Linux干貨 2017-09-24
  • linux基礎學習-(磁盤管理、分區掛載、SWAP)

    1、磁盤結構 2、分區類型 3、管理分區、文件系統以及掛載設備 4、管理虛擬內存SWAP 一、磁盤結構(機械硬盤) CHS尋址模式將硬盤劃分為磁頭(Heads)、柱面(Cylinder)、扇區(Sector)。 ?heads:磁頭 ?tracks:磁道 ?cylinder: 柱面 ?sector: 扇區,512bytes(最小的存儲單位) 1、其中:每個盤面…

    Linux干貨 2016-09-01
  • ACL權限詳解

    1.ACL簡介 2.前期準備 3.ACL的基本操作:添加和修改 4.ACL的其他功能:刪除和覆蓋 5.目錄的默認ACL 6.備份和恢復ACL 7.結束語 1.ACL簡介 用戶權限管理始終是Linux系統管理中最重要的環節。大家對Linux/Unix的UGO權限管理方式一定不陌生,還有最常用的chmod命令。為了實現一些比較復雜的權限管理,往往不得不創建很多的…

    Linux干貨 2017-03-11
  • zabbix報警信息提取

    zabbix報警信息提取     在日常的監控中,我們除了日常的zabbix操作外,我們有的時候還涉及到與其他公司進行數據對接。由于別的公司的數據對接很多時候并不是按照zabbix的數據結構(尤其是大型廠家,或是專業監控廠家,并不會直接使用zabbix,多數是自己開發或是對其他監控軟件進行二次開發之類),在這種需求基礎…

    Linux干貨 2015-12-19
欧美性久久久久