in reply to Extracting data from CSV file + Extracting selected few lines through perl
my %data; while (<DATA>) { chomp; my ($k, $v) = split /,\s+/; push @{ $data{$k} }, $v; } for my $contig (sort keys %data) { my %uniq = map { $_ => 1 } map { s/_.*//; $_ } @{ $data{$contig} } +; print "$contig = "; print join ' ', sort keys %uniq; print "\n"; } __DATA__ contig_8, maxima_contig_63500 contig_8, orange_scaffold_0026 contig_8, clementine_scaffold_6 contig_8, ponkan_scaffold_27456 contig_8, medica_contig_12945 contig_8, maxima_contig_235908 contig_8, ponkan_scaffold_144138 contig_9, maxima_contig_63500 contig_9, orange_scaffold_0026 contig_9, clementine_scaffold_6 contig_9, ponkan_scaffold_27456 contig_9, medica_contig_12945 contig_9, maxima_contig_235908 contig_9, ponkan_scaffold_144138 contig_9, ponkan_scaffold_144138
output:
contig_8 = clementine maxima medica orange ponkan contig_9 = clementine maxima medica orange ponkan
|
|---|