#! /usr/bin/gawk -f # Last edited on 2024-09-23 08:15:05 by stolfi BEGIN { nI = 0 } /^keg/ { fn = $1; T = $2; sT = $3; nE = $4; nK = $5; nM = $6; gsub(/^keg_ns/, "", fn) gsub(/_orig.obj/, "", fn) gsub(/_nr|_nb/, " ", fn) nf = split(fn, fld) if (nf != 3) { data_error("bad model name"); } nS = fld[1] + 0; nR = fld[2] + 0; nB = fld[3] + 0 nI++; printf "%4d %5d %5d %5d %8.3f %8.4f %8d %8d %8d\n", nI, nS, nR, nB, T, sT, nE, nK, nM next; } //{ data_error("bad line format"); } END { printf "%d lines converted\n", nI > "/dev/stderr" } function data_error(msg) { printf "%s:%d: ** %s\n", FILENAME, FNR, msg > "/dev/stderr" printf " «%s»\n", $0 > "/dev/stderr" exit(1) }