Ainda mais simples com o awk: -
awk '{ print ++c[$0],$0 }' < test
Onde test é o arquivo que contém os dados. Eu fiz algumas suposições aqui que não estão claras na questão. Primeiro, presumo que o arquivo já esteja classificado. Se não, então: -
sort < test | awk '{ print ++c[$0],$0 }'
Além disso, suponho que a linha inteira seja significativa, e não apenas a primeira palavra, se houver mais de uma. Se você quer apenas trabalhar na primeira palavra, então: -
awk '{ print ++c[$1],$0 }' < test