$ awk '{print $1 "_" ++c[$1]}' file
ABC_1
ABC_2
DEF_1
DEF_2
ABC_3
GHI_1
GHI_2
DEF_3
Os itens acima usam um único comando awk: print $1 "_" ++c[$1]
. Isso imprime o primeiro campo, seguido por _
, seguido por uma contagem do número de vezes que o primeiro campo foi visto até agora.