子字符串提取
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
的不同实现之间变化。