Nie mogę znaleźć rozwiązania awk dla tego prostego zadania. I łatwo można podsumować kolumnę ($ 3) na podstawie jednej pasującej dziedzinie ($ 1) z:suma kolumn na podstawie dwóch pasujących pól przy użyciu awk
awk -F, '{array[$1]+=$3} END { for (i in array) {print i"," array[i]}}' datas.csv
Teraz, w jaki sposób można to zrobić w oparciu o dwa pola? Powiedzmy, że $ 1 i 2 $? Oto przykładowe dane:
P1,gram,10
P1,tree,12
P1,gram,34
P2,gram,23
...
Po prostu muszę zsumować kolumnę 3, jeśli pasują pierwsze i drugie pola.
Dziękuję za pomoc!
dzięki za odpowiedź Ray Toal, ale ja już próbował tego rozwiązania i nie spełnia moje potrzeby, w Fakt, że naprawdę muszę zachować moje pola oddzielone w celu dalszego przetwarzania ... – Chargaff
Przecena: 'tablica [$ 1", "$ 2]' –
@ Poprawka yi_H zachowuje wyjście z trzema kolumnami; odpowiedź edytowana. –