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