【发布时间】:2018-10-17 17:17:24
【问题描述】:
这是我目前正在尝试使用手动编写函数定义的基本案例(可行):
igawk 'function tripleit(x) {return x*3} {print tripleit($1)}' <(echo 5)
这是一个理论上更实用的调用函数库的版本(失败):
igawk '@include $HOME/code/thefunc {print tripleit($1)}' <(echo 5)
这里是“thefunc”:
function tripleit(x){return x*3}
如果有人知道这是如何或为什么会失败,以及我如何才能让这样的事情发挥作用,那将是非常有帮助的。我喜欢 AWK,但我不会在每次需要 UDF 时都键入和重新键入它们。
我尝试创建 foo.awk: 函数 foo(){打印“Hello World”}
并按照建议调用它:
$ cat foo.awk
function foo(){print "Hello World"}
$ igawk '@include "foo.awk"; BEGIN{foo()}'
igawk:/dev/stdin:0: cannot find "foo.awk";
$ igawk '@include "$PWD/foo.awk"; BEGIN{foo()}'
$ igawk '@include "./foo.awk"; BEGIN{foo()}'
$
还没有输出。
【问题讨论】: