awk 内置函数
ChatGPT
AWK 内置了许多函数,这些函数可用于执行各种操作,包括字符串处理、数学计算、数组操作等。以下是一些常见的 AWK 内置函数:
字符串处理函数:
length(string)
:返回字符串的长度。
index(string, search)
:返回子串 search
在字符串 string
中的位置。
substr(string, start, length)
:返回字符串的子串,从位置 start
开始,长度为 length
。
split(string, array, separator)
:将字符串按照指定的分隔符 separator
分割成数组,并存储在数组 array
中。
gsub(regexp, replacement, string)
:全局替换,用 replacement
替换字符串 string
中所有匹配正则表达式 regexp
的部分。
gsub(regexp, replacement, string)
:替换字符串 string
中第一个匹配正则表达式 regexp
的部分为 replacement
。
数学函数:
sin(x)
、cos(x)
、tan(x)
:三角函数。
sqrt(x)
:平方根。
exp(x)
:指数函数。
log(x)
:自然对数。
int(x)
:返回不大于 x
的最大整数。
数组函数:
length(array)
:返回数组的长度。
delete array[index]
:删除数组中指定索引的元素。
split(string, array, separator)
:将字符串按照指定的分隔符 separator
分割成数组,并存储在数组 array
中(同名但不同功能的字符串处理函数)。
输入/输出函数:
print
:打印输出。
printf(format, expressions)
:按照指定格式打印输出。
其他函数:
system(command)
:执行系统命令。
getline
:从输入中读取下一行。
close(command)
:关闭由 command
打开的文件或管道。
这只是 AWK 内置函数的一小部分,还有其他函数可用于处理不同类型的数据和执行不同的操作。 AWK 的内置函数使得处理文本数据变得更加灵活和强大。
函数:split
split
是 AWK 内置的函数,用于将字符串分割成数组。这个函数的一般语法如下:
split(string, array, separator)
string
是要分割的字符串。
array
是存储分割结果的数组。
separator
是分隔符,用于指定在哪里分割字符串。
在之前的例子中,使用了 split($2, parts, "/")
来将第二个字段($2
)按照斜杠 ("/") 进行分割,并将分割结果存储在数组 parts
中。这样就可以通过索引来访问分割后的部分。
举例说明,如果有字符串 "jetsung/devenv.git",split
函数将其分割成数组 parts
,其中 parts[1]
将是 "jetsung",而 parts[2]
将是 "devenv.git"。
这使得在 AWK 中更灵活地处理文本数据成为可能。请注意,split
函数是 AWK 的标准函数,因此在 AWK 脚本中可以直接使用。