子字符串提取
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被赋予负值,则GNUawk 打印整个字符串,如果length被赋予非零值,则GNUawk 行为返回null字符串,并且行为在awk的不同实现之间变化。