perl -ne 'chomp; $hash{$1}.=$2."," if /^([^\|]+\|[^\|]+)\|([^\|]+)$/; END{chop$hash{$_} foreach keys %hash; print "$_|$hash{$_}\n" foreach keys %hash}' file_name