常用的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型陣列...