BEGIN { # (1) FCOUNT=0 OCOUNT=0 VCOUNT=0 COUNT=0 SHORTS=0 ERRORS=0 printf "Parsing inventory file \"%s\"\n", FILENAME print "==================================================" } { # (2) if(length($0) == 0) next # (3) if(NF != 3) { printf "Bad data encountered: %s\n", $0 ++ERRORS next } # (4) ++COUNT # (5) if($1 == "fruit") { ++FCOUNT } else if($1 == "vegetable") { ++VCOUNT } else { ++OCOUNT } # (6) # if inventory < 5, flag it as a shortage if($3 < 5) { ++SHORTS printf "Short on %s: %d left\n", $2, $3 } } END { # (7) print "=================================================" printf "%d out of %d entries were of type %s.\n", FCOUNT, COUNT, "Fruit" printf "%d out of %d entries were of type %s.\n", VCOUNT, COUNT, "Vegetable" printf "%d out of %d entries were of type %s.\n", OCOUNT, COUNT, "Other" print "" printf "%d out of %d entries were flagged as bad data.\n", ERRORS, COUNT,<\n> printf "%d out of %d entries were flagged in short supply.\n", SHORTS, COUNT }