Я хочу объединить значения из нескольких строк разной длины, используя awk, в одну строку, если они совпадают.В следующем примере сопоставьте значения для первого поля, агрегируя значения из второго поля в список.
Ввод, пример csv:
222;a;DB;a
222;b;DB;a
555;f;DB;a
4444;a;DB;a
4444;d;DB;a
4444;z;DB;a
Выход:
222;a|b
555;f
4444;a|d|z
Как я могу написать выражение awk (может быть, другое выражение оболочки), чтобы проверить, соответствует ли первое значение поля следующей / предыдущей строке, а затем распечатать список значений вторых полей, агрегированных и разделенных каналом?