# run with # grep -oP 'mul\([0-9]+[,][0-9]+\)|do\(\)|don.?t\(\)' input | tr '(,)' '\t\t\t' | awk -f this.awk BEGIN { run = 1 } $1 == "mul" { m = $2 * $3 P1 += m if (run) { P2 += m } } $1 == "don't" { run = 0 } $1 == "do" { run = 1 } END { print P1, P2 }