У меня есть некоторые выходные данные в виде:
count id type
588 10 | 3
10 12 | 3
883 14 | 3
98 17 | 3
17 18 | 1
77598 18 | 3
10000 21 | 3
17892 2 | 3
20000 23 | 3
63 27 | 3
6 3 | 3
2446 35 | 3
14 4 | 3
15 4 | 1
253 4 | 2
19857 4 | 3
1000 5 | 3
...
Который довольно грязный и должен быть очищен до CSV, так что я могу подарить его менеджеру проекта для него, черт возьми, из таблицы.
Суть проблемы заключается в следующем: мне нужно, чтобы это было:
id, sum_of_type_1, sum_of_type_2, sum_of_type_3
Примером этого является id "4":
14 4 | 3
15 4 | 1
253 4 | 2
19857 4 | 3
Это должно быть вместо:
4,15,253,19871
К сожалению, я такой мусор в таких вещах, мне удалось очистить все строки в CSV, но я не смог дедуплицировать и сгруппировать строки. Прямо сейчас у меня есть это:
awk 'BEGIN{OFS=",";} {split($line, part, " "); print part[1],part[2],part[4]}' | awk '{ gsub (" ", "", $0); print}'
Но все, что нужно, это очистить мусорные символы и снова напечатать строки.
Каков наилучший способ массирования строк в вышеупомянутый вывод?