The UNIX and Linux Forums  


Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com




View Single Post in the UNIX and Linux Forums - Click on the Thread or Permalink to View Entire Thread -->
  #4 (permalink)  
Old 03-15-2008
fpmurphy's Avatar
fpmurphy fpmurphy is offline Forum Staff  
Moderator
  
 

Join Date: Dec 2003
Location: Florida
Posts: 1,935
Just add "max=cur" and both lines are printed out as you want.


Code:
awk ' BEGIN { OFS=FS=":"; cur=max=0; seen=""}
        {
           cur = length($1)
           if (cur > max ) {
              seen = $1 " " $0
              max = cur
           } else if (cur == max) {
              seen = seen "\n"  $1 " " $0
           }
        }
        END { print seen }'  $INFILE