在AWK中,函数的参数是以逗号分隔的。AWK函数确实可以接受可变数量的参数,通过使用内置的变量ARGC
和ARGV
可以实现。
下面是一个示例代码,演示了如何在AWK中实现具有可变数量参数的函数:
# 函数求和,可以接受任意数量的参数
function sum() {
total = 0
for (i = 1; i <= ARGC; i++) {
total += ARGV[i]
}
return total
}
# 调用sum函数,传入不同数量的参数
BEGIN {
# 调用sum函数,传入3个参数
result = sum(1, 2, 3)
print "Sum of 1, 2, 3 is", result
# 调用sum函数,传入5个参数
result = sum(2, 4, 6, 8, 10)
print "Sum of 2, 4, 6, 8, 10 is", result
}
在上面的示例中,我们定义了一个名为sum
的函数,该函数可以接受任意数量的参数。在函数内部,我们使用循环遍历ARGV
数组来计算总和。然后我们在BEGIN
块中调用该函数,并传入不同数量的参数。
运行上述AWK脚本,输出将会是:
Sum of 1, 2, 3 is 6
Sum of 2, 4, 6, 8, 10 is 30
可以看到,我们成功地实现了一个具有可变数量参数的AWK函数。
下一篇:awk和bash脚本?