awk的使用方法 三

2021-09-28 15:39:50 字數 2382 閱讀 6452

常用的awk內建變數

序號    名稱        描述

1        argc        命令列引數的數目。

2        ar**        包含命令列引數的陣列。

3        argind        當前被處理的檔案的ar**的index(從0開始算)。

4        binmode     在non-posix系統中,檔案的i/o指定使用"binary"模式。

5        convfmt        數字轉換格式(預設值為%.6g)

6        environ        當前環境變數關聯陣列。

7        errno        包含乙個描述錯誤資訊的字串。

8        fs            字段分隔符(預設是任何空格)。

9        fieldwidths    字段寬度列表(用空格鍵分隔)。設定以後匹配字段寬度而不是以fs分隔。 

10        filename    當前輸入的檔名。   

11        fnr            當前輸入檔案的記錄號數值。   

12        ignorecase    控制所有正規表示式和字串操作的大小寫敏感性(若值為非零,則忽略大小寫匹配,初始值為0)。

13        lint        從awk程式內部提供--lint選項的動態控制。(若為真,列印lint警告)

14        nf            當前輸入記錄中的字段數。  

15        nr            到目前為止看到的輸入記錄的總數。  

16        ofmt        數字的輸出格式(預設值是%.6g)。

17        ofs            輸出字段分隔符(預設值是乙個空格)。  

18        ors            輸出記錄分隔符(預設值是乙個換行符)。 

19        procinfo    這個陣列的元素提供正在執行的awk程式資訊。可用(procinfo["egid"] procinfo["euid"] procinfo["fs"] procinfo["gid"] procinfo["pgrpid"] procinfo["pid"]  procinfo["ppid"]  procinfo["uid"] procinfo["version"]  )

20        rs            記錄分隔符(預設是乙個換行符)。  

21        rt            記錄終止符(gawk使用rs的值)

22        rstart        由match()函式匹配到的第乙個字元索引。(若無匹配則為0)

23        rlength        由match()函式所匹配的字串的長度。(若無匹配為-1)

24        subsep        多個陣列元素下標分隔符(預設值是\034)。

25        textdomain    awk程式的文字域。用來查詢程式的字串本地化翻譯。

常用的awk語句

exit        停止程式的執行,並且退出。

next        停止處理當前記錄,並且前進到下一條記錄。

nextfile    停止處理當前檔案,並且前進到下乙個檔案。

print        列印使用引號括起來的文字、記錄、欄位和變數。(預設情況下是列印出當前整行記錄。)

printf        列印格式化文字,類似於它的 c 語言對等成分,但必須指定結尾的換行。

sprintf        返回格式化文字字串,與 printf 使用相同的格式。

內建的字串函式

gsub(r,s)        在整個$0中用s代替r

gsub(r,s,t)        在整個t中用s替代r

index(s,t)        返回s中字串t的第一位置

length(s)        返回s長度

match(s,r)        測試s是否包含匹配r的字串

split(s,a,fs)    在fs上將s分成序列a

sprint(fmt,exp)    返回經fmt格式化後的exp

sub(r,s)        用$0中最左邊最長的子串代替s

substr(s,p)        返回字串s中從p開始的字尾部分

substr(s,p,n)    返回字串s中從p開始長度為n的字尾部分

常用awk引數

-v i=$i     將命令列裡的變數i傳遞給awk內部

關於awk的一些常用技巧就寫到這裡了,其他一些awk和正規表示式,以#! /usr/bin/awk開頭的指令碼書寫方式,還有在動作中讀寫檔案等操作,因為平時用的不多,等有了一定的積累再發上來吧。

awk 使用方法

gnu awk 文字處理三工具 grep,sed,awk grep,egrep,fgrep 文字過濾工具 pattern sed 行編輯器 模式空間 保持空間 awk 報告生成器,格式化文字輸出 awk aho,weinberger,kernighan new awk,nawk gnu awk,ga...

awk的使用方法 一

awk的工作方式是 通過給定的引數,去逐行讀取文字 或通過管道傳遞的內容 通過模式判斷,再執行對應的動作 awk如何處理每一行的內容 awk每讀一行,會將這一行的內容定義為 0,再通過空格將這一行切割成多個字串,按順序分別定義為 1 2 3 4.以此類推 模板 awk options pattern...

指標的使用方法 三

下面介紹指標與陣列的關係 指向一維陣列的指標 指向多維陣列的指標 指向字串的指標 1.指向陣列元素的指標變數的定義方式 型別 指標變數名 例如 int p 例如 int a 10 p p a 或 p a 0 圖示 指向陣列的指標的加減運算 p p指標移動p所指向型別的位元組,p所指向的是int型陣列...