Knowledge for the World

Awk basic examples

Learn the basics of awk with these simple examples. If you need more background information on the awk command, check out the guide What is awk?.

1

For each example we're going to use the same data - a csv file with information about U.S. presidents:

1,George Washington,http://en.wikipedia.org/wiki/George_Washington,30/04/1789,04/03/1797,Independent,Virginia
2,John Adams,http://en.wikipedia.org/wiki/John_Adams,04/03/1797,04/03/1801,Federalist,Massachusetts
3,Thomas Jefferson,http://en.wikipedia.org/wiki/Thomas_Jefferson,04/03/1801,04/03/1809,Democratic-Republican,Virginia
...

Since we're using a csv file, we'll have to specify a field separator with the -F option.

Let's print just the presidents names only.

$ awk -F "," '{print $2}' presidents.csv
George Washington
John Adams
Thomas Jefferson
James Madison

2

Let's print the names of all of the presidents from Ohio by filtering for /Ohio/.

$ awk -F "," '/Ohio/ {print $2}' presidents.csv
William Henry Harrison
Ulysses S. Grant
Rutherford B. Hayes
James A. Garfield
William McKinley
William Howard Taft
Warren G. Harding

3

Let's do something similar as the previous example except we'll use the END cleanup action to print a summary.

$ awk -F "," '/Tennessee/ {print $2; ++n} END {print n, "presidents from Tennessee"}' presidents.csv
Andrew Jackson
James K. Polk
Andrew Johnson
3 presidents from Tennessee

4

Let's print only the presidents whose names have a total length less than 12 characters.

$ awk -F "," '{if (length($2) < 12) print $2}' presidents.csv
John Adams
John Tyler
Gerald Ford