AWK Cheat-Sheet
awk '/pattern/ {print $1}'
standard Unix shells
awk '/pattern/ {print "$1"}'
compiled with DJGPP, Cygwin
awk "/pattern/ {print \"$1\"}"
GnuWin32, UnxUtils, Mingw
awk '1;{print ""}'
double space a file
awk 'BEGIN{ORS="\n\n"};1'
double space a file
awk 'NF{print $0 "\n"}'
double space a file which already has blank lines
awk '1;{print "\n"}'
triple space a file
awk '{print FNR "\t" $0}' files*
precede each line by its line number
awk '{print NR "\t" $0}' files*
precede each line by its line number for all files together
awk '{printf("%5d : %s\n", NR,$0)}'
number each line of a file
awk 'NF{$0=++a " :" $0};1'
number each line of a file, but only print numbers if line is not blank
awk 'END{print NR}'
count lines (emulates "wc -l")
awk '{s=0; for (i=1; i<=NF; i++) s=s+$i; print s}'
print the sums of the fields of every line
awk '{for (i=1; i<=NF; i++) s=s+$i}; END{print s}'
add all fields in all lines and print the sum
awk '{for (i=1; i<=NF; i++) if ($i < 0) $i = -$i; print }'
print every line after replacing each field with its absolute value
awk '{for (i=1; i<=NF; i++) $i = ($i < 0) ? -$i : $i; print }'
print every line after replacing each field with its absolute value
awk '{ total = total + NF }; END {print total}' file
print the total number of fields ("words") in all lines
awk '/Beth/{n++}; END {print n+0}' file
print the total number of lines that contain "Beth"
awk '$1 > max {max=$1; maxline=$0}; END{ print max, maxline}'
print the largest first field and the line that contains it
awk '{ print NF ":" $0 }'
print the number of fields in each line, followed by the line
awk '{ print $NF }'
print the last field of each line
awk '{ field = $NF }; END{ print field }'
print the last field of the last line
awk 'NF > 4'
print every line with more than 4 fields
awk '$NF > 4'
print every line where the value of the last field is > 4