Uma solução awk
:
$ awk '{i[$2]+=$1} END{for(x in i){print i[x]" "x}}' file.txt
35 apple
48 grapefruit
57 banana
Primeiro awk
faz um array cujo índice é o nome (banana, maçã, grapefruit) e soma os valores na primeira coluna. No final, essa matriz é impressa.