gawk is a powerful pattern-matching and processing language. It is based on the language AWK.
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. Writing single-use programs for these tasks in languages such
as C, C++, or Java is time-consuming and inconvenient. Such jobs are often easier 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 (see Options), it is fully compatible with the POSIX specification of the awk language and
with the Unix version of awk maintained by Brian Kernighan.
Using awk (or gawk) allows you to
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
Also, gawk provides facilities that make it easy to
Extract bits and pieces of data for processing
Sort data
Perform simple network communications