Con awk
awk -v OFS='\t' '
NR == FNR {val[$1]=$2; next}
{items[$2] = items[$2] " " $1}
END {
for (a in val) {
sub(/^ /, "", items[a])
gsub(/ /, ",", items[a])
print a, val[a], items[a]
}
}
' file1 file2
bhy 30 c
abc 10 a,d,e
xyz 20 b,f
Si desea ordenarlo, canalícelo hacia| sort -k2,2n
Solo por diversión, un truco de Perl
perl -lae '
if ($. == ++$nr) { $val{$F[0]} = $F[1] }
else { push @{$items{$F[1]}}, $F[0] }
} continue {
close ARGV if eof
} END {
printf "%s\t%s\t%s\n", $_, $val{$_}, join(",", @{$items{$_}}) for keys %items
' file1 file2
Запрос .bp
может быть тем, что вам нужно. Изman 7 groff
:
.bp Eject current page and begin new page.
.bp ±N Eject current page; next page number ±N.
Он находится в списке предварительно -определенных запросов.