#!/usr/bin/perl my %hash; while () { chomp; my ($name, $column2, $column3, $column4, $column5, $type) = split/\s+/; $hash{$type} = $hash{$type} . "$name $column2 $column3 $column4 $column5\n"; } foreach $key (sort keys %hash) { print "$key\n$hash{$key}\n"; } __DATA__ name1 1 2 3 4 typex name2 3 4 5 6 typey name3 2 3 3 1 typex #### typex name1 1 2 3 4 name3 2 3 3 1 typey name2 3 4 5 6