Как вы знаете, awk
не может найти сам скрипт.
Если скрипт помечен как исполняемый, и если у вас есть команда which
, то вы сможете выполнить:
awk -f `which script.awk` arg1
В качестве альтернативы, а возможно, и лучше, превратить скрипт в исполняемый файл:
#!/usr/bin/awk -f
BEGIN { x = 23 }
{ x += 2 }
END { print x }
Шебангу нужна опция '-f
' для работы на MacOS X 10.7.1, где я ее тестировал:
$ script.awk script.awk
31
$
Это дает вам автономное решение для одного файла.