(gawk.info.gz) Library Functions
Info Catalog
(gawk.info.gz) Invoking Gawk
(gawk.info.gz) Top
(gawk.info.gz) Sample Programs
A Library of `awk' Functions
****************************
User-Defined Functions User-defined, describes how to write
your own `awk' functions. Writing functions is important, because it
allows you to encapsulate algorithms and program tasks in a single
place. It simplifies programming, making program development more
manageable, and making programs more readable.
One valuable way to learn a new programming language is to _read_
programs in that language. To that end, this major node and
Practical `awk' Programs Sample Programs, provide a good-sized body of
code for you to read, and hopefully, to learn from.
This major node presents a library of useful `awk' functions. Many
of the sample programs presented later in this Info file use these
functions. The functions are presented here in a progression from
simple to complex.
Extracting Programs from Texinfo Source Files Extract Program,
presents a program that you can use to extract the source code for
these example library functions and programs from the Texinfo source
for this Info file. (This has already been done as part of the `gawk'
distribution.)
If you have written one or more useful, general-purpose `awk'
functions and would like to contribute them to the author's collection
of `awk' programs, see How to Contribute How To Contribute, for
more information.
The programs in this major node and in Practical `awk'
Programs Sample Programs, freely use features that are `gawk'-specific.
Rewriting these programs for different implementations of awk is pretty
straightforward.
Diagnostic error messages are sent to `/dev/stderr'. Use `| "cat
1>&2"' instead of `> "/dev/stderr"' if your system does not have a
`/dev/stderr', or if you cannot use `gawk'.
A number of programs use `nextfile' ( Using `gawk''s `nextfile'
Statement Nextfile Statement.) to skip any remaining input in the
input file. Implementing `nextfile' as a Function Nextfile
Function, shows you how to write a function that does the same thing.
Finally, some of the programs choose to ignore upper- and lowercase
distinctions in their input. They do so by assigning one to
`IGNORECASE'. You can achieve almost the same effect(1) by adding the
following rule to the beginning of the program:
# ignore case
{ $0 = tolower($0) }
Also, verify that all regexp and string constants used in comparisons
use only lowercase letters.
Menu
* Library Names How to best name private global variables in
library functions.
* General Functions Functions that are of general use.
* Data File Management Functions for managing command-line data
files.
* Getopt Function A function for processing command-line
arguments.
* Passwd Functions Functions for getting user information.
* Group Functions Functions for getting group information.
---------- Footnotes ----------
(1) The effects are not identical. Output of the transformed record
will be in all lowercase, while `IGNORECASE' preserves the original
contents of the input record.
Info Catalog
(gawk.info.gz) Invoking Gawk
(gawk.info.gz) Top
(gawk.info.gz) Sample Programs
automatically generated byinfo2html