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對()內的內容
原文:
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,...
awk字串函式(二)
substr函式 substr函式返回從字串指定位置開始的乙個子串。如果指定了子串的長度,則返回字串的相應部分。如果指定的長度超出了字串的實際範圍,則返回其實際內容。格式 substr 字串 起始位置 substr 字串 起始位置 子串長度 範例 awk filename claus 說明 在字串 ...
awk字串函式總結
在這裡總結一下awk的字串函式。1.長度函式length 2.分段函式split 語法如下 split input string,output array,separator split函式將乙個字串分隔到乙個陣列中。它有三個引數,第乙個為輸入字串,也就是要處理的字串 第二個為乙個輸出陣列 第三個為...