Filter rows by pattern

Print line number and content for lines matching ERROR

awk '/ERROR/ {print NR": "$0}' app.log

tool
awk15 commands
tags
awklinuxdebug

More awk commands

  • awk '{sum += $4} END {print sum}' access.log

    Accumulate a numeric column and print total

  • awk '/START/,/END/' file.txt

    Range pattern: include lines from START to END inclusive

  • awk 'NR>1 {print $1, $2}' data.csv

    Process all lines except the first (header)

  • awk '{count[$1]++} END {for (k in count) print count[k], k}' access.log | sort -rn

    Frequency count of the first field (e.g. IP addresses)

  • awk '{print $NF}' file.txt

    NF holds the number of fields; $NF is the last field

all 15 awk commands