awk '{
if (NR==FNR){
Recieved[$1,$2]+=$3;Sent[$1,$2]+=$4;
}else{
if(Recieved[$1,$2]){
print $1" " $2" " Recieved[$1,$2]" "Sent[$1,$2];Recieved[$1,$2]=""
}
}
}' InputFile.txt InputFile.txt
InputFile читается дважды, следовательно, он добавляется два раза в конце.Первый случай ввода файла ввода (, который используется в условии if (NR == FNR) ) для построения двух массивов, а второй файл ввода (, используемый в условии else ), - для печатикомбинации, а также установка значения массива пустым, чтобы мы не печатали снова.
Приведенное ниже решение Гленна намного лучше, оно читает файл только один раз