Go to the previous, next section.

Using this Manual

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.

Data Files for the Examples

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.