Awk условное объединение нескольких строк

Я хочу объединить значения из нескольких строк разной длины в одну строку, если они соответствуют идентификаторам.

Пример ввода:

ID:  Value:
a-1  49
a-2  75
b-1  120
b-2  150
b-3  211
c-1  289
d-1  301
d-2  322

Желаемый пример вывода:

ID:  Value:
a 49,75
b 120,150,211
c 289
d 301,322

Как мне написать выражение awk (или sed, или grep, или что-то в этом роде), чтобы проверить, совпадают ли идентификаторы, а затем распечатать все эти значения на одном линия? Я конечно могу просто распечатать их в разные столбцы и объединить позже, так что на самом деле проблема заключается только в условной печати, если идентификаторы совпадают и если не начинается новая строка.

6
задан jfg956 15 August 2011 в 18:01
поделиться