Facile à corriger sans devoir passer dans tout ton fichier: on rajoute une condition !/^$/ au traitement de chaque ligne. De cette manière awk passera les lignes vides.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
BEGIN {FS=OFS=";"}
!/^$/ {
        _4[$1 ";" $2 ";" $3]+=$4
        _5[$1 ";" $2 ";" $3]+=$5
        _6[$1 ";" $2 ";" $3]+=$6
}
END {for (i in _4) print i, _4[i], _5[i], _6[i]}