Вот то, что я сейчас пытаюсь использовать в качестве базового варианта с определением функции, написанным вручную (что работает):
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:
function foo () {print "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()}'
$
Нет данных.