Using awk for advanced text processing
awk
is a tool designed to work with data streams. It is very interesting, as it can operate on columns and rows. It supports many built-in functionalities, such as arrays and functions, in the C programming language. Its biggest advantage is its flexibility.
Getting ready...
The structure of an awk
script is as follows:
awk ' BEGIN{ print "start" } pattern { commands } END{ print "end" } file
The awk
command can read from stdin
also.
An awk
script usually consists of three parts—BEGIN
, END
, and a common statements block with the pattern match option. The three of them are optional and any of them can be absent in the script.
How to do it…
Let's write a simple awk
script enclosed in single quotes or double quotes, as follows:
awk 'BEGIN { statements } { statements } END { end statements }'
Or, alternately, use the following command:
awk "BEGIN { statements } { statements } END { end statements }"
For example:
$ awk 'BEGIN { i=0 } { i++ } END{ print i}' filename...