About Us Documentation

Contact Site Map



Go to the previous, next chapter.

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.

Some useful ``one-liners'' are included to give you a feel for the awk language ``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 gawk Summary. Look there if you just needME="SEC44" HREF="gawk_7.htm#SEC44">Useful ``One-liners'' 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.

  • Sample Data Files: Sample data files for use in the awk programs illustrated in this manual.

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

If you are reading this in GNU Emacs using Info, you can copy the regions of text showing these sample files into your own test files. This way you can try out the examples shown in the remainder of this document. You do this by using the command M-x write-region to copy text from the Info file into a file for use with awk (See section 'Misc File Ops' in GNU Emacs Manual, for more information). Using this information, create your own BBS-list and inventory-shipped files, and practice what you learn in this manual.



Email addresses listed on this site may  NOT be used for unsolicited commercial email.

Ready-to-Run Software, Inc Privacy Statement

Portions (c)Copyright, 1996-2005 by Ready-to-Run Software, Inc
(All rights reserved.)
212 Cedar Cove
Lansing, NY 14882
Phone: 607 533 UNIX (8649)
Fax: 607 533 4002