Multi-condition filter

Print lines where field 2 > 500 AND field 5 is POST

awk '$2 > 500 && $5 == "POST"' access.log

tool
awk15 commands
tags
awklinux

More awk commands

  • awk '{printf "%-20s %5d\n", $1, $2}' data.txt

    Aligned printf formatting with fixed column widths

  • awk -f transform.awk input.txt

    Load awk program from an external script file

  • awk '{gsub(/foo/, "bar"); print}' input.txt > tmp && mv tmp input.txt

    Global substitution and write back to same file

  • gawk -v FPAT='([^,]+)|("[^"]+")' '{print $2}' data.csv

    Parse quoted CSV fields correctly with FPAT in gawk

  • awk 'BEGIN{print "Start"} {lines++} END{print lines" lines processed"}' file.txt

    Run code before and after processing all lines

all 15 awk commands