#! /usr/bin/gawk -f # Reads a file with EEG, SYN, and SBS data. Checks the numbers for valid ranges. # Writes the same data in a more readable format. BEGIN { nt = 0; # Number of frames read. split("", vmax) split("", vmin) nc = 21; # 19 electrodes, synthetic signal, SBS signal. for (i = 1; i <= nc; i++) { vmax[i] = -1e100; vmin[i] = +1e100; } } // { nt = nt + 1; # One more frame read. if (NF != nc) { printf "** BUG NF = $d\n", NF > "/dev/stderr"; exit(1); } for (i = 1; i <= nc; i++) { vi = $(i); if (vi > vmax[i]) { vmax[i] = vi; } if (vi < vmin[i]) { vmin[i] = vi; } if (i == nc) { xi = sprintf("%3.1f", vi); } else { xi = sprintf("%+8.3f", vi); } printf " %s", xi } printf "\n" next } END { printf "%8d frames read\n", nt > "/dev/stderr" for (i = 1; i <= nc; i++) { printf "chanel %2d : [ %+12.4e _ %+12.4e ]\n", i, vmin[i], vmax[i] > "/dev/stderr" } }