#! /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; }
}