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的后綴部分 詳細說明一下各個函數的使用方法。


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對()內的內容

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM