gawk: Preface
Preface
*******
Several kinds of tasks occur repeatedly when working with text files.
You might want to extract certain lines and discard the rest. Or you
may need to make changes wherever certain patterns appear, but leave the
rest of the file alone. Such jobs are often easy with 'awk'. The 'awk'
utility interprets a special-purpose programming language that makes it
easy to handle simple data-reformatting jobs.
The GNU implementation of 'awk' is called 'gawk'; if you invoke it
with the proper options or environment variables, it is fully compatible
with the POSIX(1) specification of the 'awk' language and with the Unix
version of 'awk' maintained by Brian Kernighan. This means that all
properly written 'awk' programs should work with 'gawk'. So most of the
time, we don't distinguish between 'gawk' and other 'awk'
implementations.
Using 'awk' you can:
* Manage small, personal databases
* Generate reports
* Validate data
* Produce indexes and perform other document-preparation tasks
* Experiment with algorithms that you can adapt later to other
computer languages
In addition, 'gawk' provides facilities that make it easy to:
* Extract bits and pieces of data for processing
* Sort data
* Perform simple network communications
* Profile and debug 'awk' programs
* Extend the language with functions written in C or C++
This Info file teaches you about the 'awk' language and how you can
use it effectively. You should already be familiar with basic system
commands, such as 'cat' and 'ls',(2) as well as basic shell facilities,
such as input/output (I/O) redirection and pipes.
Implementations of the 'awk' language are available for many
different computing environments. This Info file, while describing the
'awk' language in general, also describes the particular implementation
of 'awk' called 'gawk' (which stands for "GNU 'awk'"). 'gawk' runs on a
broad range of Unix systems, ranging from Intel-architecture PC-based
computers up through large-scale systems. 'gawk' has also been ported
to Mac OS X, Microsoft Windows (all versions), and OpenVMS.(3)
Menu