sed & awk
sed - the stream editor
$ sed 's/old/new/g' file # substitute all occurrences
$ sed -i 's/old/new/g' file # edit file in place
$ sed -n '10,20p' file # print lines 10-20
$ sed '/^#/d' file # delete comment lines
awk - the field processor
awk splits each line into fields ($1, $2, … $NF = last). Default separator is whitespace.
$ awk '{print $1, $3}' data.txt # columns 1 and 3
$ awk -F: '{print $1}' /etc/passwd # : separator
$ awk '$3 > 1000 {print $1}' file # conditional
$ df -h | awk 'NR>1 {print $5, $6}' # skip header
Exam tip: Remember the trio's jobs -grepfinds lines,sededits lines,awkextracts/computes on fields. Almost every exam has at least one question on each.