UnixLike 系統 awk命令淺析

jichuanlau07發表於2014-03-11
        最近,由於工作原因,有幸接觸了ORACLE 的CRM產品Siebel。工作需要對Siebel系統執行狀況進行監控,並將監控的異常資料進行收集、格式化,再傳輸給異常處理程式。
大致思路如下:
        1、通過Siebel 提供的工具程式 srvrmgr得到伺服器、元件、元件任務數,並將結果轉儲到磁碟檔案。
         2、使用awk 程式對磁碟檔案資料進行逐行掃描,將異常資料進行處理,並輸出到異常預警日誌檔案中。
         3、系統監控程式實時檢測異常預警日誌檔案,將檔案內容顯示給監控值班人員進行處理。

        說了半天業務流程,下面來說說awk 是如何使用的吧。

         首先介紹一下什麼是awk, 她 是一種優良的文字處理工具程式。它是 Linux 乃至 Unix 環境中現有的功能最強大的資料處理引擎之一。事實上,awk是三個人名的縮寫,他們是:Aho、(Peter) Weinberg和(Brain)Kernighan。正是這三個人創造了awk---一個優秀的樣式掃描與處理工具程式。

awk程式呼叫方式:
        一、 awk命令列,你可以象使用普通UNIX命令一樣使用awk,在命令列中你也可以使用awk程式設計語言,雖然awk支援多行的錄入,但是錄入長長的命令列並保證其正確無誤卻是一件令人頭疼的事,因此,這種方法一般只用於解決簡單的問題。當然,你也可以在shell script程式中引用awk命令列甚至awk程式指令碼。
        二、使用她的 -f選項呼叫awk程式。awk允許將一段awk程式寫入一個文字檔案,然後在awk命令列中用-f選項呼叫並執行這段程式。
        三、利用命令直譯器呼叫awk程式:利用UNIX支援的命令直譯器功能,我們可以將一段awk程式寫入文字檔案,然後在它的第一行加上:
                 #!/bin/awk -f
               並賦予這個文字檔案以執行的許可權。這樣做之後,你就可以在命令列中用類似於下面這樣的方式呼叫並執行這段awk程式了。
               例如: awk  指令碼文字名  待處理的檔案

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23628945/viewspace-1107661/,如需轉載,請註明出處,否則將追究法律責任。

相關文章