* Front Page * Table of Contents * Return to Town

AWK Tutorial

What is AWK ?

AWK is a small interpreted language primarilly intended for parsing text streams, i.e. so-called "flat file" databases or piped text from other commands. While mainly used for "one-liners" similar to the way sed(1) is used, AWK is actually a turning-complete language and can be used for much more.

# ex. display non-system accounts w/ GECOS [1] info in /etc/passwd:

$ awk -F':' '$5 != "" && $NF !~ /nologin/{print $1}' /etc/passwd

The above command string will do the following:

[1] GECOS info is typically displayed by the finger(1) command, first & last name, office location and/or phone extension.

[2] system accounts usually do not allow interactive logins by setting the shell to "/usr/sbin/nologin", making it a useful filter.

Why learn AWK ?

Arguably AWK is mainly useful for users of commandline interfaces. Usually that means users of Unix-like systems, i.e. Linux, NetBSD. If that is you than learning some AWK is likely worth your time. Even though much of AWK's capabilities can be found in Perl or Python, AWK is much easier to learn and often runs faster.

Refs:

There are tons of AWK-related resources out there; here is a small sample.

Books:

note: the 1st and 3rd are freely available in PDF form

Internet:


last compiled: 2024-10-15 11:00:58.792855