Ho un output sotto forma di:
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
...
Il che è piuttosto disordinato e deve essere ripulito da un CSV in modo da poterlo regalare a un Project Manager per loro il foglio di calcolo.
Il nocciolo del problema è questo: ho bisogno che l'output di questo sia:
id, sum_of_type_1, sum_of_type_2, sum_of_type_3
Un esempio di questo è id "4":
14 4 | 3
15 4 | 1
253 4 | 2
19857 4 | 3
Questo dovrebbe invece essere:
4,15,253,19871
Sfortunatamente sono abbastanza spazzatura in questo genere di cose, sono riuscito a ripulire tutte le linee e in CSV ma non sono stato in grado di deduplicare e raggruppare le righe. In questo momento ho questo:
awk 'BEGIN{OFS=",";} {split($line, part, " "); print part[1],part[2],part[4]}' | awk '{ gsub (" ", "", $0); print}'
Ma tutto ciò che fa è ripulire i personaggi della spazzatura e stampare di nuovo le righe.
Qual è il modo migliore per massaggiare le righe nell'output sopra menzionato?