awk字符串處理

awk提供了許多強大的字符串函數,見下表:
awk內置字符串函數
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的後綴部分 詳細說明一下各個函數的使用方法。html


gensub(a,b,c[,d])全局替換,匹配正則a, 用b替換,c爲指定替換目標是第幾回匹配,d爲指定替換目標是哪一個域如$1,$2,若無d指$0,返回值爲target替換後內容(未替換仍是返回 target原內容),與sub、gsub不一樣的是,target內容替換後不改變。
gensub(/123/,"x",1,$1)替換$1中 第一次匹配到的123爲字符x,返回值爲$1替換後的內容,且$1的內容並無改變
gensub(/a(.*)b/,"\\1",1) 返回值爲匹配正則第1對()內的內容
gensub(/a(.*)b(.*)c/,"\\2",1) 返回值爲匹配正則第2對()內的內容函數

相關文章
相關標籤/搜索