Book Image

Learning AWK Programming

By : Shiwang Kalkhanda
5 (1)
Book Image

Learning AWK Programming

5 (1)
By: Shiwang Kalkhanda

Overview of this book

AWK is one of the most primitive and powerful utilities which exists in all Unix and Unix-like distributions. It is used as a command-line utility when performing a basic text-processing operation, and as programming language when dealing with complex text-processing and mining tasks. With this book, you will have the required expertise to practice advanced AWK programming in real-life examples. The book starts off with an introduction to AWK essentials. You will then be introduced to regular expressions, AWK variables and constants, arrays and AWK functions and more. The book then delves deeper into more complex tasks, such as printing formatted output in AWK, control flow statements, GNU's implementation of AWK covering the advanced features of GNU AWK, such as network communication, debugging, and inter-process communication in the GAWK programming language which is not easily possible with AWK. By the end of this book, the reader will have worked on the practical implementation of text processing and pattern matching using AWK to perform routine tasks.
Table of Contents (11 chapters)

Role of output separator in print statement

When we print multiple fields separated by comma using print command, it uses OFS and ORS built-in variable values to decide how to print the fields and rows. Output field separator is stored in the OFS variable and output record separator is stored in the ORS variable. By default OFS is set to single space and ORS is set to a single newline. We can change these values anytime as required, but the usually best place to assign new values to OFS and ORS is in the BEGIN statement. For example, in the following example we print all the fields of car database with a colon between them as separator, and the two newlines after each processing record as follows:

$ vi output_separator.awk

BEGIN { OFS = ":"
ORS = "\n\n"
{ print $1,$2,$3,$4,$5 }

$ awk -f output_separator.awk cars.dat

The output on execution of the...