# 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" {P1+=$2*$3; P2+=run*$2*$3} $1=="don't" {run=0} $1=="do" {run=1} END {print P1, P2}