---
tags:
  - Cheetsheet
---


| Command | Description |
| --- | --- |
| `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 |