Custom field separator awk
Use colon as field separator, print user and UID
awk -F: '{print $1, $3}' /etc/passwd
more awk
all 15 commands →
Filter rows by pattern
awk '/ERROR/ {print NR": "$0}' app.log
Sum a column
awk '{sum += $4} END {print sum}' access.log
Print lines between two patterns
awk '/START/,/END/' file.txt
Skip header line
awk 'NR>1 {print $1, $2}' data.csv
Count occurrences per key
awk '{count[$1]++} END {for (k in count) print count[k], k}' access.log | sort -rn