BEGIN { tcores = 0; ocores = 0 } $1 ~ /state/ { state = $3 ; njobs = 0} $1 ~ /np/ { ncores = $3 } $1 ~ /jobs/ { njobs = NF - 2 } $1 ~ /status/ { tcores += ncores if (state ~ /offline/) { ocores += ncores - njobs } } END { print tcores > "nslots.tmp" system("mv nslots.tmp nslots") print ocores > "oslots.tmp" system("mv oslots.tmp oslots") }