子字串提取

GNU awk 支援子字串提取功能,以從主字串返回固定長度的字元序列。語法是

*substr(string, start [, length ])* 

其中,string 是源字串,start 標記要為可選長度 length 字元進行提取的子字串位置的開始。如果未指定長度,則提取將一直進行到字串的末尾。

字串的第一個字元被視為字元編號 1。

awk '
BEGIN {
    testString = "MyTESTstring"
    substring  =  substr(testString, 3, 4)    # Start at character 3 for a length of 4 characters
    print substring
}'

將輸出子字串 TEST

awk '
BEGIN {
    testString = "MyTESTstring"
    substring  =  substr(testString, 3)    # Start at character 3 till end of the string
    print substring
}'

這將從字元位置 3 提取子字串到整個字串的結尾,返回 TESTstring

注意:-

  • 如果 start 被賦予負值,則 GNU awk 列印整個字串,如果 length 被賦予非零值,則 GNU awk 行為返回 null 字串,並且行為在 awk 的不同實現之間變化。