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

Ollie Saunders picture Ollie Saunders · Sep 13, 2009 · Viewed 12.9k times · Source

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

agsamek picture agsamek · Sep 13, 2009

Try using:

#!/usr/bin/awk -f

as an interpreter