awk 字串處理函式

2022-07-12 08:36:05 字數 759 閱讀 2223

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函式將乙個字串分隔到乙個陣列中。它有三個引數,第乙個為輸入字串,也就是要處理的字串 第二個為乙個輸出陣列 第三個為...