Go to the previous, next section.
The term awk
refers to a particular program, and to the language you
use to tell this program what to do. When we need to be careful, we call
the program "the awk
utility" and the language "the awk
language." The term gawk
refers to a version of awk
developed
as part the GNU project. The purpose of this manual is to explain
both the
awk
language and how to run the awk
utility.
While concentrating on the features of gawk
, the manual will also
attempt to describe important differences between gawk
and other
awk
implementations. In particular, any features that are not
in the POSIX standard for awk
will be noted.
The term awk
program refers to a program written by you in
the awk
programming language.
See section Getting Started with awk
, for the bare
essentials you need to know to start using awk
.
Some useful "one-liners" are included to give you a feel for the
awk
language (see section Useful "One-liners").
A sample awk
program has been provided for you
(see section Sample Program).
If you find terms that you aren't familiar with, try looking them up in the glossary (see section Glossary).
The entire awk
language is summarized for quick reference in
section gawk
Summary. Look there if you just need
to refresh your memory about a particular feature.
Most of the time complete awk
programs are used as examples, but in
some of the more advanced sections, only the part of the awk
program
that illustrates the concept being described is shown.
Many of the examples in this manual take their input from two sample data files. The first, called `BBS-list', represents a list of computer bulletin board systems together with information about those systems. The second data file, called `inventory-shipped', contains information about shipments on a monthly basis. Each line of these files is one record.
In the file `BBS-list', each record contains the name of a computer bulletin board, its phone number, the board's baud rate, and a code for the number of hours it is operational. An `A' in the last column means the board operates 24 hours a day. A `B' in the last column means the board operates evening and weekend hours, only. A `C' means the board operates only on weekends.
aardvark 555-5553 1200/300 B alpo-net 555-3412 2400/1200/300 A barfly 555-7685 1200/300 A bites 555-1675 2400/1200/300 A camelot 555-0542 300 C core 555-2912 1200/300 C fooey 555-1234 2400/1200/300 B foot 555-6699 1200/300 B macfoo 555-6480 1200/300 A sdace 555-3430 2400/1200/300 A sabafoo 555-2127 1200/300 C
The second data file, called `inventory-shipped', represents information about shipments during the year. Each record contains the month of the year, the number of green crates shipped, the number of red boxes shipped, the number of orange bags shipped, and the number of blue packages shipped, respectively. There are 16 entries, covering the 12 months of one year and 4 months of the next year.
Jan 13 25 15 115 Feb 15 32 24 226 Mar 15 24 34 228 Apr 31 52 63 420 May 16 34 29 208 Jun 31 42 75 492 Jul 24 34 67 436 Aug 15 34 47 316 Sep 13 55 37 277 Oct 29 54 68 525 Nov 20 87 82 577 Dec 17 35 61 401 Jan 21 36 64 620 Feb 26 58 80 652 Mar 24 75 70 495 Apr 21 70 74 514
Go to the previous, next section.