Aqui está uma versão rápida e suja do awk :
awk -F- '{print $1"/"$0}' input_file > output_file
O que ele faz é usar - como separador de campo e imprime a primeira coluna (ou seja, tudo antes do primeiro - ), depois um / e, em seguida, toda a linha original.
Uma maneira de fazer a mesma coisa com sed seria:
sed -e 's;^\([^-]*\)\(.*\);/;' input_file > output_file
(mas isso dificilmente pode ser lido).
Se você quiser fazer isso em bash , use as manipulações de string :
$ foo=AB-10C
$ prefix=${foo%%-*}
$ echo ${prefix}/${foo}
AB/AB-10C
Use isso em um loop while read ou similar se os dados forem provenientes de um arquivo.