01. Introduciton to AWK

AWK is a powerful but simple scripting language designed for text extraction and processing. Due to its versatility and simple usage, it is a widely-used tool, and there are entire books written on it.

Why use AWK?

Although it's possible to translate any AWK script into C for faster processing, AWK is often easier to write and debug. Thus, even though a C program may execute faster, it's preferrable to use AWK due to its simplicity and ease of use.

Origins of the name

The name AWK comes from its authors Alfred Aho, Peter Weinberger and Brian Kernighan, who developed it in Bell Labs in the 1970's. AWK also serves as a homonym of its mascot, the auk bird.

The auk bird.
The auk bird, which was also on the cover of the first AWK manual.

AWK features

AWK provides command line users with a variety of functions. You may use a single AWK script to process several files within a pipeline or apply the commands to several files at once. Here are just a few of the features that AWK provides:

  • Text formatting
  • Formatted text outputs
  • Perform mathematical and string operations
  • Field extraction and rearrangement

In short, AWK can be of immense help to anything that has to do with text processing or data-table manipulation.

Variations of AWK

There have been a variety of AWK implementations as users started expanding on the language.

Original awk.
New and improved awk. Used by OS X.
GNU awk. Mostly ships with Linux distributions.
Very fast AWK implementation based on bytecode interpreter.

Installing gawk

For this tutorial, we'll be sticking to gawk, which is the GNU version of AWK (GNU is simply a suite of open-source utilities - learn about the history of UNIX and GNU). To install gawk on a Debian-based Linux platform, use the apt-get package manager.

$ sudo apt-get update
$ sudo apt-get install gawk

For RPM based Linux, use yum.

$ sudo yum install gawk

For Mac OS X platform, use homebrew, the package manager for OS X.

$ brew install gawk

Commenting in AWK

One last thing to mention before moving on - to comment in AWK, use either the hashtag symbol (#) or two forward slashes (//).

Notes before getting started

AWK is a difficult programming language to learn, as most of its concepts, syntax and notations are intertwined with each other. Thus, learning one piece of AWK involves having to know some other parts. Due to this, some of the lessons in this tutorial may introduce concepts that will be covered in more detail in a future lesson. So if you see something new and not explained in detail, try your best to understand it and sit tight until we cover it more formally later. Now let's get started!

Aching back from coding all day?

Acupressure Mat & Pillow

Aching back from coding all day? Try Back Problems

Relieve your stress, back, neck and sciatic pain through 1,782 acupuncture points for immediate neck pain relief. Made for lower, upper and mid chronic back pain treatment, and improves circulation, sleep, digestion and quality of life.

$$ Check price
144.87144.87Amazon 4.5 logo(1,890+ reviews)

More Back Problems resources

Take your Linux skills to the next level!

System Admin Handbook

Take your Linux skills to the next level! Try Linux & UNIX

This book approaches system administration in a practical way and is an invaluable reference for both new administrators and experienced professionals. It details best practices for every facet of system administration, including storage management, network design and administration, email, web hosting, scripting, and much more.

$ Check price
74.9974.99Amazon 4.5 logo(142+ reviews)

More Linux & UNIX resources