Возможно, что-то вроде этого (для командной строки):
awk '{ vals[$1] = vals[$1] " " $2 }; END { for (key in vals) { print key,vals[key] }}' list
Отформатирован как скрипт awk:
{ vals[$1] = vals[$1] " " $2 }
END {
for (key in vals) {
print key,vals[key]
}
}
Для этого по индексу первых значений сохраняется строка, содержащая прогрессивные значения справа. Поэтому каждый раз, когда он находит его, он соединяет его до конца этой строки. Затем в конце он печатает каждую пару.