#! /usr/bin/gawk -f # usage: "$0 [-v FS=SEP] -v field=NUM < INFILE" # # Prints to stdout the longest value the NUMth field, # preceded by its length. BEGIN { maxlen=0; maxfld = ""; abort=0; if (field == "") { printf "must define \"-v field=NUM\"\n" > "/dev/stderr"; abort=1; exit 1; } } /./ { if (NF < field) { printf "line %d, too few fields\n" > "/dev/stderr"; abort=1; exit 1; } len = length($(field)); if (len > maxlen) { maxlen = len; maxfld = $(field); } next; } END { printf "%d %s\n", maxlen, maxfld; if (abort) { exit 1; } }