Next scheduled workshop
28 and 31 August 2020, via Zoom
course information
This website is going away soon! Update your bookmarks!
The new page is hosted at

Why awk?

"The Enlightened Ones say that....
  • You should never use C if you can do it with a script;
  • You should never use a script if you can do it with awk;
  • Never use awk if you can do it with sed;
  • Never use sed if you can do it with grep.“ 
The language is simple and Awk programs are generally very short. 
Awk is useful when the overhead of more sophisticated approaches is not worth the bother.

source (some years ago):


  • The material on this site is not a complete guide or awk manual.
  • The purpose of this site is to give an overview of the capabilities of the awk language and to underline some particular strengths or disadvantages.
  • The page aims to promote this tool for use in every-day’s research work and urges you to find solutions yourself rather than expecting ready-made ones.
  • The material assumes that you are somewhat familiar with grep and sed.

What is awk?

AWK is an interpreted programming language designed for text processing and typically used as a data extraction and reporting tool.

The AWK language is a data-driven scripting language consisting of a set of actions to be taken against streams of textual data – either run directly on files or used as part of a pipeline – for purposes of extracting or transforming text, such as producing formatted reports. The language extensively uses the string datatype, associative arrays (that is, arrays indexed by key strings), and regular expressions.

AWK has a limited intended application domain, and was especially designed to support one-liner programs.

It is a standard feature of most Unix-like operating systems.