Linux unix-awk-在用户定义函数中打印参数名称

Linux unix-awk-在用户定义函数中打印参数名称,linux,bash,shell,unix,awk,Linux,Bash,Shell,Unix,Awk,在bash脚本中使用以下awk: 如何让print_line函数打印传入参数的名称? 这个输出 array passed in was: arrayprime array passed in was: arraymagic 只是代码要点的一小部分(不是全部): 不,awk没有这种内省的能力 C语言可以通过使用C预处理器来实现这一点。如果您真的想将这种行为应用到awk函数中,那么您可以研究使用C预处理器,或者编写一个 如果您愿意再添加一个参数,您可以这样做 awk -F"$delim" ' NR

在bash脚本中使用以下awk:

如何让print_line函数打印传入参数的名称? 这个输出

array passed in was:
arrayprime
array passed in was:
arraymagic
只是代码要点的一小部分(不是全部):


不,
awk
没有这种内省的能力

C
语言可以通过使用C预处理器来实现这一点。如果您真的想将这种行为应用到awk函数中,那么您可以研究使用C预处理器,或者编写一个

如果您愿意再添加一个参数,您可以这样做

awk -F"$delim" '
NR>1 { 

        print_line(arrayprime, "arrayprime")
        print_line(arraymagic, "arraymagic")
}
    func print_line(arr, name)
    {
        print "array passed in was:"
            print name
    }

}' "$filename"

不,
awk
没有这种内省的能力

C
语言可以通过使用C预处理器来实现这一点。如果您真的想将这种行为应用到awk函数中,那么您可以研究使用C预处理器,或者编写一个

如果您愿意再添加一个参数,您可以这样做

awk -F"$delim" '
NR>1 { 

        print_line(arrayprime, "arrayprime")
        print_line(arraymagic, "arraymagic")
}
    func print_line(arr, name)
    {
        print "array passed in was:"
            print name
    }

}' "$filename"

像大多数语言一样,ask使用,而不是。像大多数语言一样,ask使用,而不是。