Ollie Saunders Ollie Saunders - 2 months ago 24
Bash Question

Invoking a script, which has an awk shebang, with parameters (vars)

I have an awk script that I have defined thus:

#!/usr/bin/env awk
BEGIN { if (!len) len = 1; end = start + len }
{ for (i = start; i < end; i++) { print $1 } }


I have saved it as
columns
and
chmod +x
'd it. I want invoke it so that
start
and
end
are defined as it traverses over a file. I was thinking this should work:

cat some_file | columns -v start=2


But it doesn't. Help!

Answer

Try using:

#!/usr/bin/awk -f

as an interpreter