可以把awk看作一門完全的程序設計語言,它處理文本的速度是快得驚人的。現在很多基于shell 日志分析工具都可以用它完成。設計簡單,速度表現很好。 涉及到以上六個方面內容,我會在以后文章中加以介紹。 這次主要說下,怎么樣把外部變量傳入到awk執行語句中。
一、基礎:
awk [ -F re] [parameter...] ['pattern {action}' ] [-f progfile][in_file...]
awk一般語法如上面所說。
如:
在 awk中兩個特別的表達式,BEGIN和END,這兩者都可用于pattern中(參考前面的awk語法),提供BEGIN和END的作用是給程序賦予初始狀態和在程序結束之后執行一些掃尾的工作。任何在BEGIN之后列出的操作(在{}內)將在awk開始掃描輸入之前執行,而END之后列出的操作將在掃描完全部的輸入之后執行。因此,通常使用BEGIN來顯示變量和預置(初始化)變量,使用END來輸出最終結果。
二、獲得外部變量方法
1、獲得普通外部變量
格式如:awk ‘{action}' 變量名=變量值 ,這樣傳入變量,可以在action中獲得值。 注意:變量名與值放到'{action}'后面。
[chengmo@localhost ~]$ echo | awk 'BEGIN{print test}' test="$test"
這種變量在:BEGIN的action不能獲得。
2.BEGIN程序塊中變量
格式如:awk –v 變量名=變量值 [–v 變量2=值2 …] 'BEGIN{action}' 注意:用-v 傳入變量可以在3中類型的action 中都可以獲得到,但順序在 action前面。
3.獲得環境變量
只需要調用:awk內置變量 ENVIRON,就可以直接獲得環境變量。它是一個字典數組。環境變量名 就是它的鍵值。
標簽:邵陽 馬鞍山 赤峰 婁底 淘寶邀評 金昌 許昌 巴彥淖爾
巨人網絡通訊聲明:本文標題《linux shell awk獲得外部變量(變量傳值)簡介》,本文關鍵詞 linux,shell,awk,獲得,外部,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。