awk is a pattern scanning and processing language. However it can be used more simply as a command line filter that operates at the field level rather than the line level like grep does.
A typical awk statement:
awk -F: ‘{print $3}’
This is in two sections. The first is
awk -F: which means use a colon as the field separator
if you used -F” “, that would mean use a space as the field separator
The second part is:
‘{print $3}’
This is saying to print the 3rd field as defined by the field seperator by -F
For example, the passwd file gives us entries such as this line:
root:x:0:0:root:/root:/bin/bash
Here the fields are seperated by colons. The first field is the username, root in this case. So if we want a list of all the users in that file we use:
cat /etc/passwd | awk -F: ‘{print $1}’
Leave a Reply