通常情况下,AWK 不会报告函数未定义错误,除非对函数进行了调用。如果函数没有定义,AWK 会将其识别为未定义的变量,并在使用该函数时返回一个空值。因此,如果 AWK 报告函数未定义错误,则很可能是函数名拼写错误。
另一种情况是,函数定义位于代码的后面,而函数调用位于其前面。可以将函数定义移到函数被调用的前面,或者将整个函数定义移到 AWK 脚本的开头。下面是示例代码:
# 函数定义在函数调用的后面
{
print do_something($1)
}
function do_something(str) {
# 函数实现
return str
}
# 函数定义移到 AWK 脚本的开头
function do_something(str) {
# 函数实现
return str
}
{
print do_something($1)
}
上一篇:awk输出的第一列有空格
下一篇:awk输出中的列之间没有空格