Utility awk - Basics

Last modified 2019-06-14

Sini

The awk is a utility developed by Aho, Weinberger and Kerninghan (AWK). It is a pattern scanning and processing language.By default it reads from standard input and writes to standard output.

The awk programs can be used in two ways.

Let's take below file for awk processing

File: myrecord

EMPID_001 SBAL C005 DEP_SALES

EMPID_002 GIRI C008 DEP_ENGG
EMPID_003 JAVV C001 DEP_HR
EMPID_004 SIKD C011 DEP_HR
EMPID_005 FARO C204 DEP_ENGG
EMPID_006 MABR C012 DEP_SALES

awk '{print}' myrecord
EMPID_001 SBAL C005 DEP_SALES
EMPID_002 GIRI C008 DEP_ENGG
EMPID_003 JAVV C001 DEP_HR
EMPID_004 SIKD C011 DEP_HR
EMPID_005 FARO C204 DEP_ENGG
EMPID_006 MABR C012 DEP_SALES

awk '/DEP_SALES/ {print}' myrecord
EMPID_001 SBAL C005 DEP_SALES
EMPID_006 MABR C012 DEP_SALES

awk '{print $2,$4}' myrecord
SBAL DEP_SALES
GIRI DEP_ENGG
JAVV DEP_HR
SIKD DEP_HR
FARO DEP_ENGG
MABR DEP_SALES

awk '{print NR,$0}' myrecord
1 EMPID_001 SBAL C005 DEP_SALES
2 EMPID_002 GIRI C008 DEP_ENGG
3 EMPID_003 JAVV C001 DEP_HR
4 EMPID_004 SIKD C011 DEP_HR
5 EMPID_005 FARO C204 DEP_ENGG
6 EMPID_006 MABR C012 DEP_SALES

awk '{print NR,$4}' myrecord
1 DEP_SALES
2 DEP_ENGG
3 DEP_HR
4 DEP_HR
5 DEP_ENGG
6 DEP_SALES

awk 'NR==4, NR==6 {print NR,$0}' myrecord

4 EMPID_004 SIKD C011 DEP_HR
5 EMPID_005 FARO C204 DEP_ENGG
6 EMPID_006 MABR C012 DEP_SALES

awk '{print NR "- " $1 }' myrecord
1- EMPID_001
2- EMPID_002
3- EMPID_003
4- EMPID_004
5- EMPID_005
6- EMPID_006

awk '{print $NF}' myrecord
DEP_SALES
DEP_ENGG
DEP_HR
DEP_HR
DEP_ENGG
DEP_SALES