awk Commands Cheat Sheet

• Updated January 10, 2019


awk - which is not an acronym for anything other than the first letter in the three creator’s last names - is a text processor and is included with practically every Unix-like system. It has its own programming language that can be used to parse through text line by line. It has no problem parsing through a large amount of text data that other programs might choke on.

If you have never used awk, I recommend reading through Greg Grothaus’ “Why you should know just a little awk”.

This post will be an ever growing list of awk commands I use most frequently.

Print the first column from all rows:

awk '{print $1}'

Print the first and third columns from all rows:

awk '{print $1, $3}'

The comma between the column parameters in the previous command will put a space between the outputted columns. However, you can change this behavior and use your own formatting:

awk '{print $1 " --- " $3}'

Change the field delimiter and print the second column

By default, awk will parse a row into columns using a space as the delimiter. The delimiter can be changed with the -F command line switch.

For example, change the delimiter to a semicolon:

awk -F: '{print $2}'

The field delimiter could be anything such as an equal sign, -F=, or a period, -F..

There are plenty of situations where you might need to print the last column from a given row, but you do not know how many columns are on that given row. The built-in variable NF can be used to solve this.

awk '{print $NF}'

Another built-in variable is NR which always contains the current row number. This can be used to do such things as printing the last column from only the first row:

awk 'NR==1 {print $NF}'

If you want to print particular columns only from rows that match certain conditions, you can pass a regular expression:

awk '/regular-expression-to-match/ {print $1}'

You can also invert your regular expression match by putting an exclamation mark outside of the search field:

awk '!/regular-expression-to-match/ {print $1}'

tags

active-directory (1)


ads (1)


aix (2)


ambient-noise (1)


amd (2)


android (1)


ansible (6)


apache (2)


api (2)


apple (7)


apple-tv (1)


apt (1)


awk (1)


bash (1)


bittorrent (2)


bootstrap (3)


centos (7)


cheat-sheet (14)


chef (1)


chromeos (1)


cloud (1)


cmatrix (1)


cobbler (3)


cowboy-bebop (1)


curl (1)


darwin-streaming-server (1)


datadog (1)


ddclient (1)


debian (2)


dell (3)


development (2)


diagrams (2)


disqus (1)


dlna (1)


dns (1)


docker (1)


documentation (153)


doxie (2)


dvdbackup (1)


ejabberd (2)


exiftool (1)


fedora (6)


ffmpeg (2)


filevault (1)


find (1)


firefly (1)


git (1)


glance (1)


gluster (2)


gnome (1)


golang (1)


google-app-engine (2)


google-chrome (1)


google-chromecast (1)


google-cloud-dns (1)


google-cloud-functions (1)


google-cloud-platform (5)


google-cloud-pubsub (1)


google-drive (1)


google-kubernetes-engine (1)


handbrake (1)


icloud (2)


idrac (3)


imagemagick (1)


ios (3)


iphone (3)


iscsi (1)


java (1)


javascript (1)


jekyll (6)


jquery (3)


json (3)


kerberos (1)


keystone (1)


kickstart-profiles (7)


kubernetes (2)


kvm (2)


ldap (6)


lego (1)


lets-encrypt (1)


linux (18)


macbook (3)


macos (2)


markdown (1)


mdadm (1)


mechanical-keyboards (1)


megacli (1)


microdata (1)


msi-gs65-stealth-thin (2)


mysql (1)


namecheap (1)


networking (1)


neutron (2)


nfs (1)


nova-network (2)


openssl (2)


openstack (21)


opinions (9)


os-x (4)


os-x-mavericks (1)


os-x-mountain-lion (2)


os-x-yosemite (6)


parted (1)


preseed (1)


python (4)


quantum (1)


racadm (2)


rackspace-private-cloud (3)


raid (2)


red-hat (8)


red-hat-satellite-server (2)


reviews (7)


rfid (1)


rhel (7)


rpm (1)


rss (1)


safari (1)


samsung (1)


scp (1)


scsi (1)


security (3)


sed (1)


seo (2)


shell (10)


skippy (2)


snappass (1)


solaris (3)


spotlight (1)


ssd (2)


ssh (1)


sshpass (1)


ssl (1)


sssd (1)


stackdriver (1)


star-wars (1)


steam (1)


storage (1)


support (2)


swift (6)


terminal (1)


thinkpad (1)


transmission (2)


troubleshooting (1)


ubuntu (9)


usb-c (1)


vagrant (11)


varnish (2)


virtualbox (8)


vmware-fusion (10)


wallets (1)


web-analytics (1)


wifi (1)


windows (2)


windows-10 (1)


windows-7 (2)


windows-server (1)


world-of-warcraft (1)


xrdp (1)


xserver (1)


zfs (1)