#!ruby -w look = File.open("look.txt").readlines; # here I'm inclined to write 'map' instead of 'readlines' out = look.sort_by {|line| line.split("|")[4] }; out.each {|line| fields = line.split "|"; puts fields[0 .. 4].join(","); } __END__