gawk: Long
1.1.3 Running Long Programs
---------------------------
Sometimes 'awk' programs are very long. In these cases, it is more
convenient to put the program into a separate file. In order to tell
'awk' to use that file for its program, you type:
awk -f SOURCE-FILE INPUT-FILE1 INPUT-FILE2 ...
The '-f' instructs the 'awk' utility to get the 'awk' program from
the file SOURCE-FILE (Options). Any file name can be used for
SOURCE-FILE. For example, you could put the program:
BEGIN { print "Don't Panic!" }
into the file 'advice'. Then this command:
awk -f advice
does the same thing as this one:
awk 'BEGIN { print "Don\47t Panic!" }'
This was explained earlier (Read Terminal). Note that you don't
usually need single quotes around the file name that you specify with
'-f', because most file names don't contain any of the shell's special
characters. Notice that in 'advice', the 'awk' program did not have
single quotes around it. The quotes are only needed for programs that
are provided on the 'awk' command line. (Also, placing the program in a
file allows us to use a literal single quote in the program text,
instead of the magic '\47'.)
If you want to clearly identify an 'awk' program file as such, you
can add the extension '.awk' to the file name. This doesn't affect the
execution of the 'awk' program but it does make "housekeeping" easier.