#! /usr/bin/gawk -f # usage: # get-max-field-width -v field=FNUM < INFILE # Prints the maximum length of field FIELDNUM in all records of INFILE function error(msg) { printf "%s\n", msg > "/dev/stderr"; abort = 1; exit 1; } BEGIN { abort=-1; if (field=="") { error("must specify \"-v field=NUM\""); } } /./ { if(abort >= 0) exit abort; m = length($(field)); if (m > max) { max = m; } } END { if(abort >= 0) exit abort; printf "%d\n", max; }